氣泡排序的程式如下:
1 #include 2 int main()
3 ;5 int len = sizeof(a) / sizeof(int);
6 7 int i,j;
8 for(i = 0;i < len-1;i++)
9
18 }
19 for(j = 0;j < 10;j++)
20
23 printf("\n");
24 25 }
26 return 0;
27 }
氣泡排序的原理是:
比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
針對所有的元素重複以上的步驟,除了最後乙個元素。
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
選擇排序的程式如下:
#include 2
3 int main()
4 ;6 int len = sizeof(a) / sizeof(int);
7 8 int i,j;
9 int min;
10 11 for(i = 0;i < len ;i++)
12
20 }
21 int t;
22 t = a[i];
23 a[i] = a[min];
24 a[min] = t;
25 if(i >= len / 2)
26
29 30 for(j =0;j < 10;j++)
31
34 printf("\n");
35 }
36 37
38 39 return 0;
40 }
選擇排序的原理是:
1.在陣列的所有元素中挑選出乙個最小的元素,將它與排在無序位第乙個的元素交換。
2.在挑選出最小的元素並放在第一位以後,繼續對剩下的元素進行挑選,挑選出除了第一位之外最小的元素。
3.重複1的操作,直到所有的元素按順序排好,列印出所有結果。
1 for(i = 0;i < len ;i++)
2
這一部分主要是對陣列下標進行判斷,一開始i=0,也就是認為a[0] = a[min]。下一步進行判斷,由於j=i+1,a【j】即代表a【i】的下一位,如果a【j】挑選出最小的元素後,如果a【i】=a【min】,則無需互換,如果a【i】!=a【min】,則將a【i】和a【min】互換位置,也就是執行下面的程式:
if(min != i)
重複上述步驟,直到按順序排好,列印出所有過程。 C 氣泡排序和選擇排序
氣泡排序 理論 從第乙個數開始,將相鄰的兩個數比較,第乙個數和第二個數比較.要是是從小到大的排序,要是後面的數比前面的大則交換兩個的位置,這樣第一輪比較基數後最大的數就到了最後面,接著進行第二趟的比較,比較到前面n 1個數,原理也是前面的那樣,大的往後面不停的排,直到比較到前面只剩下乙個數的時候,就...
氣泡排序和選擇排序 C 實現)
氣泡排序 從陣列的第乙個元素開始 arr 0 兩兩比較 arr n arr n 1 如果前面的數大於後面的數,則交換兩個元素的位置,把大的數往後移動。經過一輪比較後,最大的數會被交換到最後的位置 arr n 1 選擇排序 通過比較,選出每一輪中最值元素 最大或最小 然後把它和本輪中的第乙個元素進行交...
c語言 氣泡排序和選擇排序
氣泡排序將乙個列表中的兩個元素進行比較,並將最小的元素交換到頂部。兩個元素中較小的會冒到頂部,而較大的會沉到底部,該過程將被重複執行,直到所有元素都被排序。氣泡排序示意圖 以如圖所示的氣泡排序為例,每次比較相鄰的兩個值,值小的交換到前面,每輪結束後值最大的數交換到了最後。第一輪需要比較4次 第二輪需...