我是不是不太适合学程序设计下面有个程序很简单但是看半天看的思路很乱最后动笔才把作者的思路理出来。

来源:百度知道 编辑:UC知道 时间:2024/05/31 09:22:41
#include <stdlib.h>
#include <iostream.h>
const int n=10;
int a[10]={42,65,80,74,36,44,28,65,94,72};
void InsertSort()
{
int i,j,x;
for(i=1;i<n;i++){
x=a[i];
for(j=i-1;j>=0;j--)
if(x<a[j])a[j+1]=a[j];else break;
a[j+1]=x;
}
}

int main()
{
InsertSort();
for(int i=0;i<n;i++)cout<<a[i]<<' ';
cout<<endl;
getchar();
system("PAUSE");
}
就是for循环那几行看的我眼花缭乱 if(x<a[j])a[j+1]=a[j];else break; a[j+1]=x;
不知道你们是不是一看就知道什么意思

排序,从小到大排列数组元素。
你要是看不懂,先试着运行结果,再逐条分析代码。
这样就能看懂了,上面你的例子是基础东西,不难的。

——要相信自己的编程天赋。

void InsertSort()
{
int i,j,x;
for(i=1;i<n;i++)
{
x=a[i];
for(j=i-1;j>=0;j--)
{
if(x<a[j]){a[j+1]=a[j];}
else {break;}
}
a[j+1]=x;
}
}
加上括号,感觉好多了。

是挺难的软件设计。哎!同命人啊,不过还是得继续