冒泡排序
- 定義
- 思想
- 代碼實作
定義
??它重復地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來,走訪元素的作業是重復地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成,
??排序核心思路就是兩種方式:升序和降序,
思想
??此處我們以升序為例,前一個元素要比后一個元素小,核心就是進行相鄰元素的比較和交換,這里我們按照從后往前遍歷的方式進行比較和交換,
代碼實作
#include<stdio.h>//實作一個對整形陣列的冒泡排序
#include<windows.h>
void Sort(int arr[],int size){
for (int border = 0; border < size; border++){
for (int cur = size - 1; cur>border; cur--){
if (arr[cur - 1] > arr[cur]){
int temp = arr[cur - 1];
arr[cur - 1] = arr[cur];
arr[cur] = temp;
}
}
}
}
int main(){
int arr[4] = { 9, 5, 2, 7};
int size = sizeof(arr) / sizeof(arr[0]);
Sort(arr, sizeof(arr) / sizeof(arr[0]));
for (int i = 0; i < size; i++){
printf("%d\n", arr[i]);
}
system("pause");
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/201633.html
標籤:其他
上一篇:程式員笑話二十八
