作者a1013944 (ㄚ春)
看板C_and_CPP
标题[问题] swap&比大小
时间Sun Mar 15 21:44:47 2009
#include<stdio.h>
#include<stdlib.h>
#include <string>
#define Swap int(a[j],a[j+1]);
int main()
{
int a[5],t,i,j;
for (i=0;i<5;i++)
scanf("%d",&a[i]);
printf("排序前数字为:%d %d %d %d %d\n",a[0],a[1],a[2],a[3],a[4]);
for (i = 0 ; i < 5 ; i++)
{
for ( j = 0 ; j < 4 ; j++)
{
if (a[j] > a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;};
}
}
printf("排序後数字为:%d %d %d %d %d\n",a[0],a[1],a[2],a[3],a[4]);
system("pause");
return 0;
}
这个是我比大小程式码
我之前一直卡在 for (i = 0 ; i < 5 ; i++)以下
到 {t=a[j];a[j]=a[j+1];a[j+1]=t;};
这边是我同学帮我改的
请问这边是怎麽运作的??
可以解释给我听吗谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.123.237.33
1F:推 SHBK:那段在"交换数值" 03/15 21:55
2F:→ a1013944:那为什麽要打 for (i = 0 ; i < 5 ; i++) 03/15 21:57
3F:推 tsaiminghan:看起来看是气泡排序法 03/15 22:53
4F:推 VictorTom:如果语法语意已经懂了, 随便带5个数进去一步步走完一遍 03/15 22:58
5F:→ VictorTom:程式, 就知道这个排序演算法是怎麽运作的.... 03/15 22:59
6F:→ VictorTom:如果语法语意都不懂, 请把书拿出来看一下for怎麽用的:) 03/15 22:59
7F:推 Alexboo:Bubble sort 03/16 15:29
8F:推 jerohands:关於这类处理资料结构的问题,STL绝对是你的好朋友!! 03/16 17:18