跪求帮忙分析一下程序的含义,运行结果是用插入法对数组a降序排序,但不知循环里面到底是什么意思#include "stdio.h"void main (){ int a[5]={4,7,2,5,1},i,j,m; for(i=1;i=0&&m>a[j]) { a[j+1]=a[j]
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/04 06:12:48
![跪求帮忙分析一下程序的含义,运行结果是用插入法对数组a降序排序,但不知循环里面到底是什么意思#include](/uploads/image/z/3963079-55-9.jpg?t=%E8%B7%AA%E6%B1%82%E5%B8%AE%E5%BF%99%E5%88%86%E6%9E%90%E4%B8%80%E4%B8%8B%E7%A8%8B%E5%BA%8F%E7%9A%84%E5%90%AB%E4%B9%89%2C%E8%BF%90%E8%A1%8C%E7%BB%93%E6%9E%9C%E6%98%AF%E7%94%A8%E6%8F%92%E5%85%A5%E6%B3%95%E5%AF%B9%E6%95%B0%E7%BB%84a%E9%99%8D%E5%BA%8F%E6%8E%92%E5%BA%8F%2C%E4%BD%86%E4%B8%8D%E7%9F%A5%E5%BE%AA%E7%8E%AF%E9%87%8C%E9%9D%A2%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%23include+%22stdio.h%22void+main+%28%29%7B++++int+a%5B5%5D%3D%7B4%2C7%2C2%2C5%2C1%7D%2Ci%2Cj%2Cm%3B++++for%28i%3D1%3Bi%3D0%26%26m%3Ea%5Bj%5D%29++++++++%7B++++++++++++a%5Bj%2B1%5D%3Da%5Bj%5D)
跪求帮忙分析一下程序的含义,运行结果是用插入法对数组a降序排序,但不知循环里面到底是什么意思#include "stdio.h"void main (){ int a[5]={4,7,2,5,1},i,j,m; for(i=1;i=0&&m>a[j]) { a[j+1]=a[j]
跪求帮忙分析一下程序的含义,运行结果是用插入法对数组a降序排序,但不知循环里面到底是什么意思
#include "stdio.h"
void main ()
{
int a[5]={4,7,2,5,1},i,j,m;
for(i=1;i=0&&m>a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=m;
}
for(i=0;i
跪求帮忙分析一下程序的含义,运行结果是用插入法对数组a降序排序,但不知循环里面到底是什么意思#include "stdio.h"void main (){ int a[5]={4,7,2,5,1},i,j,m; for(i=1;i=0&&m>a[j]) { a[j+1]=a[j]
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循环继续执行