【算法导论】2-1 插入排序insertion-sort.cpp

来源:互联网 发布:c语言实验温度转换 编辑:程序博客网 时间:2024/05/29 16:13
#include <iostream>using namespace std;//插入排序算法,书p10 正确性证明见p11 时间复杂度o(n平方)int main1(){    int a[10]={5,6,2,1,3,7,8,10,9,4};    int time=0;    int j=0,i=0;    int key=0;    for (j=1;j<10;j++)    {        key=a[j];        i=j-1;        while(i>=0 &&a[i]>key)        {        time++;        a[i+1]=a[i];        i=i-1;                                              //实际上是完成交换        }        a[i+1]=key;        for (i=0;i<10;i++)            cout<<a[i]<<" ";        cout<<endl;    }    for (i=0;i<10;i++)        cout<<a[i]<<" ";    cout<<endl;    cout<<time<<endl;}//测试输出如下://5 6 2 1 3 7 8 10 9 4//2 5 6 1 3 7 8 10 9 4//1 2 5 6 3 7 8 10 9 4//1 2 3 5 6 7 8 10 9 4//1 2 3 5 6 7 8 10 9 4//1 2 3 5 6 7 8 10 9 4//1 2 3 5 6 7 8 10 9 4//1 2 3 5 6 7 8 9 10 4//1 2 3 4 5 6 7 8 9 10//1 2 3 4 5 6 7 8 9 10
0 0
原创粉丝点击