有一个已经排好序的数组,今输入一个数,要求按原来排序的规律将他插入数组中。
方法一:
#include
int main()
{int a[11]={1,4,7,9,23,34,56,65,67,89};int number,end=0,i=0,j=0,t1=0,t2=0;scanf("%d",&number);end=a[9];if(number>end)a[10]=number;else{for(i=0;i<10;i++)if(a[i]>number){t1=a[i];a[i]=number;a[i+1]=t1;break;}}for(i=0;i<11;i++)printf("%d\n",a[i]);
}
方法二:
a[11]数组中的元素是从小到大排列,元素只有10个,如果输入的数比a[9]都大,直接把这个数插入到末尾,反之一一比较,找到比输入数大的第一个数a[i],并记录下标i,然后把a[i]~a[9]往后移,移完后,再把这个数插入到a[i]处,并中断循环。
#include
int main()
{int a[11]={1,4,6,9,13,16,19,28,40, 100};int number=0,i=0,j=0;scanf("%d",&number);if(number>a[9])a[10]=number;else{for(i=0;i<10;i++){if(numberi;j--){a[j+1]=a[j];}a[i]=number; break; }}}for(i=0;i<11;i++)printf("%d\n",a[i]);
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
