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

...对数组a降序排序,但不知循环里面到底是什么意思

发布网友 发布时间:2023-12-22 14:22

我来回答

3个回答

热心网友 时间:2024-10-10 06:17

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循环继续执行

热心网友 时间:2024-10-10 06:17

#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]);
}
}

热心网友 时间:2024-10-10 06:11

循环就是向左查找到M要正确插入的位置嘛。
不懂可追问,祝楼主学习愉快!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
可以提前退出“三支一扶”计划吗 能提前退出“三支一扶”计划吗 绒沙金礼品制作工艺 什么叫绒沙金 榖皮巾的意思是什么 IPOD新版本安装会不会影响内存 我的是ipod 4 8G的,我下载了东西以后发现内存是占了,但是显示不出来东西... 为什么我的IPOD下载程序只用了4G却显示用了6.4G 间谍过家家阿尼亚表情包汇总(间谍过家家阿尼亚次子) 关于"化物语"中的女主 战场原黑仪(戦场ヶ原ひたぎ)的1440*900宽屏壁纸... 河南省对转业,下岗,志愿兵,两参老兵历史遗留问题是怎样一解决的?_百 ... 被注销怎么找回来? 汉阳黄金口限购吗 微信好友被删了,自己又不知道他的了。怎么找回? 一年内怎么改第二次 一年只能改一次怎么改第二次? 谁能帮我举几个历史上好朋友之间互相残杀的例子?论文急用,十分感谢! 六款中医养生茶超有效祛痘 分手绝情的男人还能挽回吗 加州旅馆有没有录音棚版??? ...古钱求老司机看看一个光绪的一个乾隆通宝圆孔圆钱一个袁大头,乾隆通 ... 政和通宝 圆孔,直径24MM 请问价格为多少? 热血英豪斥候装备问题 .关于热血英豪斥候和逆天魔枪的问题... 一个手机怎么注册两个 重新注册了,旧微信里的零钱怎样找回?问题是同一个号码只能注册一... 黄永刚和黄克志什么关系 宜兴环保科技工业园科技孵化园属于哪个区 逐本之道怎么买 ...妈妈,我真为你为外公所做的一切感到骄傲。”(改为转述句) 古典型周期与增长型周期的区别 欧冠和亚冠的区别 修改一年内如何二次修改吗苹果 科农环宇榨油机多少钱一台? 赛泊尔是什么意思 一年内怎么改第二次 qq登陆框下面的小图标怎么点亮呢? 我一个手机号注册了两个,另外一个登不上了,怎么办? 索尼相机RX100M6怎么样?适合旅拍吗? 秦时明月4什么时间出? 求一个素拓游戏的详细规则与说明。 这是一个培训游戏,讲求团队之间的配 ... 老公生日怎么发红包有仪式感 老公生日发红包怎么发有创意? 有哪些好的情人节祝福语呢? 未满一年怎么改第二次 一年改2次的办法 温迪告诉我妈咪,我真为你为外公所做的一切而感到骄傲改为转述句 一年内能改第二次吗? 一年内第二次修改技巧 谁知道秦时明月第四部什么时候出?谢了