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

 

posted @ 2020-04-06 12:44  神迹丶  阅读(776)  评论(0编辑  收藏  举报
网站已运行: