思路:创建一个动态数组,将键盘输入存入数组中,将输入的需插入的数据和数组元素进比较,然后将其插入数组。
代码如下:
#includeint main() { int N,i,n,t; int a[100]; scanf("%d",&N); for(i=0;i for(t=N;t>0;t--)//插入数据比数组第一项小时,插入数据存入第一位,原数据整体后移 { a[t]=a[t-1]; } a[0]=n; } else if(n>a[N-1])//插入数据比最后一项大时,插入数据存入最后一位 { a[N]=n; } else{ for(i=0;i if(a[i] =n)//数组元素和插入数据相比有大有小时,小者不作处理,大者整体后移一位 { for(t=N;t>i;t--) { a[t]=a[t-1]; } a[i+1]=n; } } } for(i=0;i printf("%d ",a[i]); } return 0; }


![[PTA7-1-1]简化的插入排序 [PTA7-1-1]简化的插入排序](http://www.mshxw.com/aiimages/31/925632.png)
