插入排序法(一)

来源:互联网 发布:如何在网络上找外教 编辑:程序博客网 时间:2024/05/21 05:26

插入排序法:

       假设前面所有的数都已排好序,将后面的数从后向前依次和已排好序的进行比较,直到出现比它小的,插在它的后面。

代码如下:

#include <iostream>#include <string.h>using namespace std;/*   ****  插入排序   已知一个已排好序的序列,对新来的数,从后往前依次与排好序的数进行比较   直到找到比此数小的,然后插在它之后。*///设待排序的数组是a,长度为nvoid Insert(int *a,int n){for(int j=1;j<n;j++){int key = a[j];int i = j-1;for(;i>=0;i--){if(a[i]>key){a[i+1]=a[i];}else break;}a[i+1]=key;}}int main(int argc,char *argv[]){int a[8] ={31,28,12,16,19,45,53,27};Insert(a,8);printf("经过插入排序后的数组元素如下:\n");for(int i = 0;i < 8;i++){printf("%d\t",a[i]);}printf("\n");system("pause");return 0;}

输出结果:

 


 

0 0
原创粉丝点击