首页 > 编程语言 > 详细

有一个有序数组,要求将一个新输入的数插入到数组中并保证插入新数后,数组仍有序。

时间:2016-05-27 22:05:56      阅读:355      评论:0      收藏:0      [点我收藏+]

有一个有序数组,要求将一个新输入的数插入到数组中并保证插入新数后,数组仍有序。


因为数组在初始条件下是有序的,而题目要求插入新数后数组仍有序。因此,首先应该在数组中找到插入位置,然后将该位置原有的数以及该位置后面的数都依次后移一个位置,为新插入的数值空出一个位置。

#include<stdio.h>

int main()

{

int a[11] = {2, 4, 8, 15, 20, 36, 49, 51, 78, 96};

int temp1, temp2, number, end, i, j;

printf("The original arry is:\n");

for(i = 0; i < 10; i++)

printf("%5d", a[i]);

printf("\n");

printf("Please insert a new number:");

scanf("%d", number);

end = a[9];

 if(number > end)

 a[10] = number;

 else

 {

 for(i = 0; i < 10; i++)

 {

 if(a[i] > number)

 {

 temp1 = a[i];

 a[i] = number;

 for(j=i+1; j<11; j++)

 {

 temp2 = a[j];

 a[j] = temp1;

 temp1 = temp2;

 }

 break;

 }

 }

 }

 for(i=0; i<11; i++)

 printf("%6d", a[i]);

 printf("\n");

}


有一个有序数组,要求将一个新输入的数插入到数组中并保证插入新数后,数组仍有序。

原文:http://11585815.blog.51cto.com/11575815/1783915

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!