[問題] swap&比大小

看板C_and_CPP (C/C++)作者 (ㄚ春)時間16年前 (2009/03/15 21:44), 編輯推噓5(503)
留言8則, 6人參與, 最新討論串1/2 (看更多)
#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

03/15 21:55, , 1F
那段在"交換數值"
03/15 21:55, 1F

03/15 21:57, , 2F
那為什麼要打 for (i = 0 ; i < 5 ; i++)
03/15 21:57, 2F

03/15 22:53, , 3F
看起來看是氣泡排序法
03/15 22:53, 3F

03/15 22:58, , 4F
如果語法語意已經懂了, 隨便帶5個數進去一步步走完一遍
03/15 22:58, 4F

03/15 22:59, , 5F
程式, 就知道這個排序演算法是怎麼運作的....
03/15 22:59, 5F

03/15 22:59, , 6F
如果語法語意都不懂, 請把書拿出來看一下for怎麼用的:)
03/15 22:59, 6F

03/16 15:29, , 7F
Bubble sort
03/16 15:29, 7F

03/16 17:18, , 8F
關於這類處理資料結構的問題,STL絕對是你的好朋友!!
03/16 17:18, 8F
文章代碼(AID): #19lGPGIU (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
文章代碼(AID): #19lGPGIU (C_and_CPP)