C语言的问题? 哪位大哥哥,大姐姐帮下我哦。输入一个按顺序排列的数组,插一个数,使其依然按顺序排列。

如题所述

第1个回答  2011-03-07
噢!都已经排好序了?插入法排序的一次执行过程~!

黑 竖
吧 着
** 看
神马
安 ,
全 你
年代
** 懂
网 的
你搜索一下插入法排序吧!应该就可以得到答案了~~追问

程序怎么写呢?

追答

噢~搜索一下难道没有吗?我相信有程序的哈~~

追问

那我去看看,谢谢

追答

不用啦~万一你搜索不到我再给你提个思路吧~~

追问

看的不是很懂.

追答

那我解释一下吧!假设你原来的数组是按不降的顺序排列的,那么就从后往前比较啊~
a=input();arry[N];//arry[N]为按不降的顺序排列的数组;
for(int i = N; a> arry[i];i--)
arry[i+1]=arry[i];
大概就是这个意思,从后往前比较,如果a小于数组中的数就将数组中的数往后移动一位,直到出现a 大于数组中的数,就结束比较~~

第2个回答  2011-03-07
输入的是一个已经排好序的数组吗,是不是程序中已经不需要再排序了
第3个回答  2011-03-09
输入的数和序列挨个比较本回答被提问者采纳

C语言的问题? 哪位大哥哥,大姐姐帮下我哦。输入一个按顺序排列的数组...
黑 竖 吧 着 看 神马 安 ,全 你 年代 懂 网 的 你搜索一下插入法排序吧!应该就可以得到答案了~~

C语言编程:一个已经排好序的数组,往里插一个数,并找出他插到哪里?
C语言编程:一个已经排好序的数组,往里插一个数,并找出他插到哪里?  我来答 1个回答 #话题# 居家防疫自救手册 听不清啊 2020-10-29 · 说的都是干货,快来关注 知道顶级答主 回答量:7.8万 采纳率:89% 帮助的人:9850万 我也去答题访问个人页 展开全部 追答 #include int main() { int ...

C语言求助,把一个数插入到一个已排好序的数组中
1、可以用下面代码把数插入一个排好序的数组,数组进行迭代取值。2、下面是数组排序的代码,这里是按大小排序的,每次取值和输入的数比较,比输入的数小,就往后移动移位,直到移出输入数该放的位置,反之也是。3、或者用下图的代码实现,有一个已排好序的数组,现在插入一个数字。4、按原来已排好的...

在c语言中,怎样在一个数组中插入一数
1.数组满的,需要从新申请数组,然后后移;2.直接后移;

c语言程序设计:有一个已排好序的数组,要求输入一个数后,按原来排序的规...
本程序首先对数组a中的10个数从大到小排序并输出排序结果。然后输入要插入的整数n。再用一个for语句把n和数组元素逐个比较,如果发现有n>a[i]时,则由一个内循环把i以下各元素值顺次后移一个单元。后移应从后向前进行(从a[9]开始到a[i]为止)。 后移结束跳出外循环。插入点为i,把n赋予a[i...

在c语言中,如何在数组中插入一个数
方法为:输入一个数据x,将数组中的数据与x逐一比较,如果大于x,记录下数据的下标,然后此数据下标和其后的数据的下标都加一,相当于都向后挪一位,然后将x赋值给数组的那个下标。include<stdio.h> int main()int i, j, k, x, a[11] =(3, 6, 7, 9, 12, 14, 15, 27, 29...

用C语言编程:输入5个数,按从小到大顺序输出!?
int i,j,temp;printf("input 5 number:\\n");for(i=0;i<5;i++) scanf("%d",&a[i]);\/\/获取输入的5个整数,分别放在数组成员a[0]到a[4]中 for(i=5;i>0;i--)\/\/冒泡排序 for(j=0;ja[j+1]){ temp=a[j];a[j]=a[j+1];a[j+1]=temp;} } printf("output:\\n");...

用c语言编写一段程序,建立一个顺序表(需要自己输入数据,并插入数据...
*l){ int *p,*newbase; p=l->elem; while(1) { for(;p<l->elem+l->listsize;p++) { scanf("%d",p);if(*p==-1) break;l->length++; } if((p==l->elem+l->listsize)) { newbase=(int *)realloc(l->elem,(l->listsize+LISTINCREMENT)*sizeof(int))...

C语言问题:把一个整数按大小顺序插入已排好序的数组中。
a[p]=s;\/\/这三步交换a[i]和a[p],也就是把当前的最大值放到a[i]} printf("%d ",a[i]);}\/\/十次比较后,按最大到最小依次拍好了顺序,这个叫冒泡排序 printf("\\ninput number:\\n");scanf("%d",&n);\/\/输入要插入的数n for(i=0;i<10;i++)\/\/十次循环 if (n>a[i])\/\/...

c语言 向有序数组中插入一个数,保持原顺序不变,将新数组输出
for(i=0;i<15;i++)\/\/这里i<16;改成i<15;因为插入前数组有15个元素 { if(m<=a[i])\/\/这里m<a[i]改成m<=a[i]{ for(j=14;j>=i;j--)a[j+1]=a[j];a[i]=m;break;\/\/这里加break;插入m后退出循环 } } for(i=0;i<16;i++){ if(n<=a[i])\/\/这里n<a[i]改成...

相似回答
大家正在搜