码迷,mamicode.com
首页 > 编程语言 > 详细

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

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

标签:c学习

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


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

#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");

}


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

标签:c学习

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!