首页 > 技术文章 > C++ 插入排序

shenji 2020-04-06 12:44 原文

 

#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;
}

 

推荐阅读