直接插入排序验证性实验

来源:互联网 发布:mac os 10.7怎么升级 编辑:程序博客网 时间:2024/06/14 04:24

直接插入排序验证性实验

请创建一个一维整型数组用来存储待排序关键码,关键码从数组下标为1的位置开始存储,下标为0的位置不存储关键码。输入关键码的个数,以及各个关键码,采用直接插入排序的方法并采用哨兵法对关键码数组进行排序,输出每轮比较的过程。

这里写图片描述


代码如下:

#include<iostream>using namespace std;void InsertSort(int r[],int n){    int j;    for(int i=2;i<=n;i++)    {        int flag=0;        r[0]=r[i];        for(j=i-1;r[0]<r[j];j--)        {        cout<<r[j]<<" ";//交换发生在这里         r[j+1]=r[j];        flag=1;        }           if(flag==1)        {            cout<<endl;        }        r[j+1]=r[0];    }} int main(){    int i,n,a[100];    cin>>n;    for(i=1;i<=n;i++)//从1开始    {        cin>>a[i];    }     InsertSort(a,n);//添加方法     for(i=1;i<=n;i++)    {        cout<<a[i]<<" ";    }    return 0;}