C++问题 N个数进行插入排序 输出插入排序过程

来源:百度知道 编辑:UC知道 时间:2024/06/23 09:21:55
输入N个数,对这N个数进行插入排序,要求把每次插入排序的过程输出来。
输入格式 Input Format
两行,第一行N,第二行依次为待插入排序的N个数.
输出格式 Output Format
N行,每行为当前插入的过程.
能发个可以直接编译的吗 ?谢谢

这个比较简单,可以采用二分插入,可以遍历插入。这里简单点,就采用遍历插入。
主要过程:
int in_num(0);
int *in_data;
scanf("%d",&in_num);

in_date = new int(in_num);//异常处理就做了

for(int i=0; i<in_num; i++){
scanf("%d",in_data+i);
}

for(int i=0;i<in_num;i++){//拟输入
int cur_data = in_data[i];
for(int j=0;j<i;j++){//排序插入
if(cur_data < in_data[j]){
in_data[i]=in_data[j];
in_data[j]=cur_data;
}
}
for(int k=0;k<=i;k++){//打印
printf("%d ",in_data[k]);
}
printf("\n");
}