C++ 插入排序


 

#include<iostream>
using namespace std;
int main()
{
    //插入排序理解
    int arr[] = { 56, 12, 3, 7, 11,55,456,123,55,44,6,7,8,999,1 }; //定義一個int類型數組 

    int m = 0;
    for (int i = 0; i < sizeof(arr)/sizeof(int); i++)  //定義一個for循環,表示外層需要循環的次數
    {
        for (int j = i ; j > 0; j--)      //定義一個循環,每次將前數組第i個元素內的元素從后向前進行比大小,
        {
            m++;
            if (arr[j] < arr[j - 1])        //如果前一個元素比后一個元素小,則交換元素值,否則直接退出
            {
                int num = arr[j-1];  //值交換
                arr[j-1] = arr[j];   
                arr[j] = num;
            }
            else
                break;     //因為前面的元素都排序好了,如果找到if條件不匹配,則表示需要排序的元素就應該在這個位置,前面的元素不用再比較,直接退出當前循環即可.
        }
    }

    return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM