[2018年最新整理]c语言中的插入排序法.pptVIP

  • 6
  • 0
  • 约小于1千字
  • 约 7页
  • 2018-02-20 发布于浙江
  • 举报

[2018年最新整理]c语言中的插入排序法.ppt

[2018年最新整理]c语言中的插入排序法

如何将一个数插入已排好的数组中 一个数组a[6]={2,5,9,10,19} 当x=-1: j i 0 1 2 3 4 5 j i i j (i始终小于5,因为最后一个中无数) …… i j i j 可以看到,当xa[i](i=0)时,直接将后面的数每个后移一位即可 当x=10: j i j i j i j i 当x=a[i]时,将i向后移动一位,否则,从i以后的每个后移一位(i始终小于5) 0 1 2 3 4 5 j i j i j i 将x与a[i]比较,找出x的位置,然后将后面的依次向后移动,为x留出一个位置 当x=20: j i 0 1 2 3 4 5 j i 在该种情况下,直接将x存在最后一位即可 当x=-1: for(j=5;j0;j--) { a[j]=a[j-1]; } a[j]=x; 注意:当j=1时,j-1=0,则j不能等于0,等于0时,j-1超过界线 #includestdio.h #define N 6 void fun(int a[],int x) { int i,j=N-1; for(i=0;iN-1;i++) { if(x=a[i]) { for(;ji;j--) a[j]=a[j-1]; break; } } a[j]=x; } main() { int a[N]={2,5,9,10,19},i,x; scanf(%d,x); fun(a,x); for(i=0;iN;i++) printf(%d ,a[i]); } 调用函数 主函数

文档评论(0)

1亿VIP精品文档

相关文档