直接插入排序C++实现

来源:互联网 发布:一级建造师网络教育 编辑:程序博客网 时间:2024/06/05 00:16
算法简单,就不描述了,直接看注释吧
#include "iostream"#define MAX_SIZE  10//假设10个数字排序using namespace std;int main(){int a[MAX_SIZE];cout << "init 数组" << endl;for (int i = 0; i <MAX_SIZE;i++)     //自己随便输入{cin >> a[i];}for (auto c : a)//遍历输出,查看正确性cout << c << " ";cout << endl;int i, j;int temp; //定义一个变量,用于交换存储临时值for ( i = 1; i < MAX_SIZE; i++)      //从数组第二个开始比较,默认第一个是有序的{temp = a[i]; //保留当前待排序的数值for ( j = i - 1; j >= 0; j--){if (temp < a[j])             //如果要插入的数据小于有序的,则有序的向右调整{a[j + 1] = a[j];}else                         //找到插入点,结束内层循环break;}a[j + 1] = temp; //j+1 才是插入的点}for (auto c : a)cout << c << " ";cout << endl;system("pause");return 0;}

原创粉丝点击