遍匈 / C囂冱秘壇縮殻 / C囂冱方怏 /

C囂冱方怏圷殆電會?丹倒電會?

<貧匯准 和匯准>
壓糞縞蝕窟嶄?嗤載謹魁尚俶勣厘断繍方怏圷殆梓孚貫寄欺弌?賜宀貫弌欺寄?議乏會電双?宸劔壓臥堋方象扮氏厚紗岷鉱?箭泌?
  • 匯倖隠贋阻萎雫僥催議方怏?電會朔厚否叟蛍曝挫僥伏才撒僥伏?
  • 匯倖隠贋阻斌瞳汽勺議方怏?電會朔厚否叟心竃万断議來勺曳。

斤方怏圷殆序佩電會議圭隈嗤載謹嶽?曳泌丹倒電會、拷旺電會、僉夲電會、峨秘電會、酔堀電會吉?凪嶄恷将灸恷俶勣嫺燐議頁仝丹倒電會々。

參貫弌欺寄電會葎箭?丹倒電會議屁悶房?頁宸劔議?
  • 貫方怏遊何蝕兵?音僅曳熟屢惣議曾倖圷殆議寄弌?斑熟寄議圷殆幟愁吏朔卞強?住算曾倖圷殆議峙??岷欺方怏議挑硫。将狛及匯態議曳熟?祥辛參孀欺恷寄議圷殆?旺繍万卞強欺恷朔匯倖了崔。
  • 及匯態潤崩朔?写偬及屈態。挽隼貫方怏遊何蝕兵曳熟?斑熟寄議圷殆幟愁吏朔卞強?岷欺方怏議宜方及屈倖圷殆葎峭。将狛及屈態議曳熟?祥辛參孀欺肝寄議圷殆?旺繍万慧欺宜方及屈倖了崔。
  • 參緩窃容?序佩 n-1?n 葎方怏海業?態“丹倒”朔?祥辛參繍侭嗤議圷殆脅電双挫。

屁倖電會狛殻祥挫崧賑倒音僅貫邦戦丹竃栖?恷寄議枠竃栖?肝寄議及屈竃栖?恷弌議恷朔竃栖?侭參繍宸嶽電會圭塀各葎丹倒電會?Bubble Sort?

和中厘断參“3 2 4 1”葎箭斤丹倒電會序佩傍苧。

及匯態 電會狛殻
3 2 4 1 ?恷兜?
2 3 4 2 ?曳熟3才2?住算?
2 3 4 1 ?曳熟3才4?音住算?
2 3 1 4 ?曳熟4才1?住算?
及匯態潤崩?恷寄議方忖 4 厮将壓恷朔中?咀緩及屈態電會峪俶勣斤念中眉倖方序佩曳熟。

及屈態 電會狛殻
2 3 1 4 ?及匯態電會潤惚?
2 3 1 4 ?曳熟2才3?音住算?
2 1 3 4 ?曳熟3才1?住算?
及屈態潤崩?肝寄議方忖 3 厮将電壓宜方及屈倖了崔?侭參及眉態峪俶勣曳熟念曾倖圷殆。

及眉態 電會狛殻
2 1 3 4 ?及屈態電會潤惚?
1 2 3 4 ?曳熟2才1?住算?

崛緩?電會潤崩。

麻隈悳潤式糞孖

斤啜嗤 n 倖圷殆議方怏 R[n] 序佩 n-1 態曳熟。

及匯態?幟倖曳熟 (R[1], R[2]), (R[2], R[3]), (R[3], R[4]), ……. (R[N-1], R[N])?恷寄議圷殆瓜卞強欺 R[n] 貧。

及屈態?幟倖曳熟 (R[1], R[2]), (R[2], R[3]), (R[3], R[4]), ……. (R[N-2], R[N-1])?肝寄議圷殆瓜卞強欺 R[n-1] 貧。
。。。。。。
參緩窃容?岷欺屁倖方怏貫弌欺寄電會。

醤悶議旗鷹糞孖泌和侭幣?
#include <stdio.h>
int main(){
 int nums[10] = {4, 5, 2, 10, 7, 1, 8, 3, 6, 9};
 int i, j, temp;
 //丹倒電會麻隈?序佩 n-1 態曳熟
 for(i=0; i<10-1; i++){
 //耽匯態曳熟念 n-1-i 倖?匆祥頁傍?厮将電會挫議恷朔 i 倖音喘曳熟
 for(j=0; j<10-1-i; j++){
 if(nums[j] > nums[j+1]){
 temp = nums[j];
 nums[j] = nums[j+1];
 nums[j+1] = temp;
 }
 }
 }
 
 //補竃電會朔議方怏
 for(i=0; i<10; i++){
 printf("%d ", nums[i]);
 }
 printf("\n");
 
 return 0;
}
塰佩潤惚?
1 2 3 4 5 6 7 8 9 10

單晒麻隈

貧中議麻隈頁寄何蛍縮可嶄戻工議麻隈?凪嶄嗤匯泣頁辛參單晒議?輝曳熟欺及 i 態議扮昨?泌惚複和議圷殆厮将電會挫阻?椎担祥音喘壅写偬曳熟阻?柳竃儉桟軸辛?宸劔祥受富阻曳熟議肝方?戻互阻峇佩丼楕。

隆将單晒議麻隈匯協氏序佩 n-1 態曳熟?将狛單晒議麻隈恷謹序佩 n-1 態曳熟?互和羨登。

單晒朔議麻隈糞孖泌和侭幣?
#include <stdio.h>
int main(){
 int nums[10] = {4, 5, 2, 10, 7, 1, 8, 3, 6, 9};
 int i, j, temp, isSorted;
 
 //單晒麻隈?恷謹序佩 n-1 態曳熟
 for(i=0; i<10-1; i++){
 isSorted = 1; //邪譜複和議圷殆厮将電會挫阻
 for(j=0; j<10-1-i; j++){
 if(nums[j] > nums[j+1]){
 temp = nums[j];
 nums[j] = nums[j+1];
 nums[j+1] = temp;
 isSorted = 0; //匯稀俶勣住算方怏圷殆?祥傍苧複和議圷殆短嗤電會挫
 }
 }
 if(isSorted) break; //泌惚短嗤窟伏住算?傍苧複和議圷殆厮将電會挫阻
 }
 for(i=0; i<10; i++){
 printf("%d ", nums[i]);
 }
 printf("\n");
 
 return 0;
}
厘断駆翌譜崔阻匯倖延楚 isSorted?喘万恬葎炎崗?峙葎“寔”燕幣複和議圷殆厮将電會挫阻?峙葎“邪”燕幣複和議圷殆珊隆電會挫。

耽匯態曳熟岻念?厘断圓枠邪譜複和議圷殆厮将電會挫阻?旺繍 isSorted 譜崔葎“寔”?匯稀壓曳熟狛殻嶄俶勣住算圷殆?祥傍苧邪譜頁危議?複和議圷殆短嗤電會挫?噐頁繍 isSorted 議峙厚個葎“邪”。

耽匯態儉桟潤崩朔?宥狛殊霞 isSorted 議峙祥岑祇複和議圷殆頁倦電會挫。
<貧匯准 和匯准>

AltStyle によって変換されたページ (->オリジナル) /