插入排序——C/C++实现

来源:互联网 发布:舒乐安定 淘宝 编辑:程序博客网 时间:2024/06/03 17:58

它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

注意在找插入位置的时候同步进行数据的挪动。

#include <iostream>#include <time.h>#define size 10using namespace std;void insert_sort(int a[],int len){    int i, j, key;    for(i = 1; i < len; ++i){        key = a[i];        for(j = i-1; j >=0; --j)        {            if(a[j] > key)                a[j+1] = a[j];//为插入元素空出位置            else                break;        }        a[j+1] = key;    }}int main(){    int a[size];    srand((unsigned)time(NULL));    for(int i=0;i<size;i++)        a[i]=rand()%20;        //随机生成size个书并排序    for(int i=0;i<size;i++)        cout<<a[i]<<" ";    cout<<endl;    clock();  //计时    insert_sort(a,size);    cout<<"用时:"<<clock()<<"毫秒"<<endl;//得出排序时长    for(int i=0;i<size;i++)        cout<<a[i]<<" ";    return 0;}





0 0
原创粉丝点击