问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

跪求帮忙分析一下程序的含义,运行结果是用插入法对数组a降序排序,但不知循环里面到底是什么意思

发布网友 发布时间:2022-05-18 10:17

我来回答

3个回答

热心网友 时间:2023-10-14 17:11

m先把a[i]的值存放起来;
j=i-1;就是使a[j]成为a[i]左边的那个元素;
while(j>=0&&m>a[j])
{
a[j+1]=a[j];
j--;
}
这个循环就是把a[i]的值不断和左边的值做比较,如果左边的值是小于它的,就把那个值往右移动一个位置,当找到一个比a[i]的值大的值时,循环就会停止,这时a[j]指向的是比a[i]大的那个值。
a[j+1]=m;
最后这里,就是把m(原来a[i]的值)放在比它大的那个值的右边
下面,for循环继续执行

热心网友 时间:2023-10-14 17:12

#include "stdio.h"
void main ()
{
int a[5]={4,7,2,5,1},i,j,m;
//插入排序的基本思想是:先处理数组前面的一部分,使其有序例如,当i为2时,那么a[0],a[1]是有序的:4,7
//现在处理决定a[2]=2的位置。这时进入while循环,将所有大于a[2]的数据向前移动,7大于2,所以它向前移
//这样是4,7,7,4大于2,也向前移这样是4,4,7,然后2会被放入4的位置,由于j=-1,while循环结束。
//当while完成后,再将a[2]=2的值放入它应该放入的位置。这样a[2]以前的数组就是有序的了,
//a的情况现在为2,4,7,5,1,接下来处理a[3]=5.....
for(i=1;i<5;i++)
{
//这次循环处理的值。
m=a[i];
//然后开始依次比较m和i之前的数组中的值,按照从小到大的顺序排列。
j=i-1;
while(j>=0&&m>a[j])
{//将小于a[j]的所有值向前移,或者直到数组越界
a[j+1]=a[j];
j--;
}
//将m放入适当的位置
a[j+1]=m;
//建议这样写以跟踪数组a的情况:
for(i=0;i<5;i++)
{
printf("%d",a[i]);
}
}
for(i=0;i<5;i++)
{
printf("%d",a[i]);
}
}

热心网友 时间:2023-10-14 17:12

循环就是向左查找到M要正确插入的位置嘛。
不懂可追问,祝楼主学习愉快!追问没懂。。。跪求逐行分析,尤其是while的终止条件

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
儿童散学归来早描述的是什么季节(儿童散学归来早描写的是什么季节) 超级死神进化论章节目录 我们没有忘记读后感458字作文 贷15万贷10年每月还多少钱 15万10年贷款月供多少 15万贷10年月供多少钱 15万贷款10年一月多少钱 贷款15万10年每月还多少 在银行贷款15万十年还清想知道利息和月供……(还望亲们提供的的2013年... 今天去刷qq空间 看到了一个同学的头像 说明他发了说说 可是怎么刷新... 请问鳌虾可以吃什么,买的时候那人说可以吃面包虫,我想知道还可以吃什么 2017款卡罗拉外漆是什么白? 程序的含义 实质性分析程序得范围包含哪两层含义 逸巧血糖仪怎么校准 阿基米德的主要成就有哪些 近义词、反义词 急!!! 羽翼丰满的近义词 严寒 闻名 丰满 模糊 观赏 赞叹 凝结 闪烁 的近义词或反义词 丰满的近义词除了是饱满,可以使丰富,丰收吗?小心翼翼的反义词除了是粗心大意,还可以是三心二意,漫不 智慧的反义词和近义词 丰满的近义词和反义词 厌烦的近义词和反义词 手机流量不够怎么买? 微信朋友圈卖手机流量是怎么弄的 手机帐户里的流量可以卖吗? 淘宝上还可以卖手机流量,大家谁知道怎么做吗? 建行信用卡临时额度最多连续调整几期 中国银行信用卡,有逾期可以申请临时额度吗?一年能申请几次? 以前初二的期中考试的好的作文 初二期中考试常考题目作文题目 华为今年的手机有哪些 用新居宝活性炭去除冰箱里面的异味有效果吗? c语言,分析这段程序的意思? 白玉鳌虾吃什么 迷你鳌虾吃什么? 2017款卡罗拉外漆是什么白 卡罗拉2017款1.6自动波有普通白吗 3. 分析下面程序段的含义,实现了什么功能? MOV AX, 1090H ADD AL, 80H ADC AH, 12H 4. 分析下面程序段, 2017款丰田卡罗拉白色属于哪种白色漆 实质性程序的范围 17款1.6CTV白色是哪种白? 敖虾吃什么?红敖 魅蓝Note6支持双卡吗 卡罗拉双擎白色是通用白还是通用珍珠白 各位大佬,我想问问鳌虾吃什么补钙啊?超市里晒干的虾皮或者小虾米干可以吗? 魅蓝note6是双4g手机吗 魅蓝note6 4+64都是全网通的吗 2017款丰田卡罗拉的颜色有几种颜色 魅蓝note6的全网通移动版是啥东西 各位大佬,我想问问鳌虾吃什么补钙啊? 阿里巴巴那个属于证卷还是股票呢,用手机下载什么软件炒股呢。应该下载什么呢