1.氣泡排序
氣泡排序(bubble sort) 最為簡單的一種排序,通過重複走完陣列的所有元素,通過打擂台的方式兩個兩個比較,直到沒有數可以交換的時候結束這個數,再到下個數,直到整個陣列排好順序。因乙個個浮出所以叫氣泡排序。雙重迴圈時間o(n^2)
void bubblesort ( int arr , int len )
int temp;
bool issorted = false;
for(int i=0; iarr[j+1])
print(arr,len);
}
2.選擇排序
選擇排序(select sort) 是直觀的排序,通過確定乙個key最大或最小值,再從帶排序的的數中找出最大或最小的交換到對應位置。再選擇次之。雙重迴圈時間複雜度為o(n^2)
void selectsort( int arr, int len)
for( int i=0; iarr[j])
} arr[i]=minkey;
}
print(arr,len);
}
3.快速排序
int compinc(const void *a, const void *b) //快排遞增
int compdec(const void *a, const void *b) //快排遞減
通過使用qsort(陣列名,長度,sizeof(第乙個數長度),compinc/comodec) 進行實現陣列的排序
~~~~~~~~~~~~
其他排序會根據學的增加進行補充
~~~~~~~~~~~
#include#includeusing namespace std;
void print(int arr, int a)
print(arr,len);
}void selectsort( int arr, int len)
for( int i=0; iarr[j])
} arr[i]=minkey;
}
print(arr,len);
} int main()
氣泡排序 選擇排序 快速排序
氣泡排序的思想在於,不斷地將當前元素與後乙個元素進行比較,如果當前元素較小,則調換當前元素與後乙個元素的位置,否則保持不變 假設需要排序的元素一共有n個,從第乙個元素開始,對後續的 n 2 元素進行上述比較,最終的排序結果中,最後的元素是最大值。def bubble sort alist n len...
選擇排序 氣泡排序 快速排序
選擇排序 氣泡排序 快速排序 例子序列 176453 從小到大排序 1.選擇排序 自己的話概括 每個位置上的數字都是由在這個位置之後的所有數字中選擇的乙個最小的數字。1 7 6 4 5 3 1 7 6 4 5 3 1 3 6 4 5 7 1 3 4 6 5 7 1 3 4 5 6 7 完成排序!實現...
氣泡排序 快速排序 選擇排序
原理 臨近的兩個數字比較,按照從小到大或者從大到小進行排序,一共進行n趟排序 n是陣列的長度 時間複雜度 o n 2 test public void bubblesort int length a.length for int j 0 ja i 1 for int i 0 i 時間複雜度 o n ...