各種sort總結

2021-09-17 01:38:20 字數 833 閱讀 2531

各種sort總結如下:

小動畫**:

氣泡排序

原理:每次遍歷一遍陣列,遇到num[i + 1] < num[i],swap; 迴圈遍歷直至順序正確

**:public void bubblesort(int nums)

}boolean sorted(int nums)

j++;

}return sorted;

}快速排序

原理:找到乙個基準(pivot),divide and conquer, 每次都將比pivot小的放到左邊,比pivot大的放到右邊,然後對左邊右邊分別再進行快速排序,直到分的子陣列只有乙個數字為止。

(前一版**寫得太亂了不便理解,這裡寫乙個更廣為接受的)理解為「左邊右邊同時開始,遇到不符合順序的兩個就進行交換」

int partition(int arr, int left, int right)

};return i;void quicksort(int arr, int left, int right) {

int index = partition(arr, left, right);

if (left < index - 1)

quicksort(arr, left, index - 1);

if (index < right)

quicksort(arr, index, right);

sort 和qsort函式cmp函式各種寫法

用sort 函式,要加標頭檔案以及using namespace std 另外檔案的字尾要改為.cpp 用qsort函式,要加標頭檔案這個是c裡的,檔案的字尾可以是.c int型 sort函式 int cmp int a,int b return a b 從大到小 return aqsort函式 i...

各種路徑總結

獲取當前類的路徑 不需要加任何內容直接就是這個類的路徑 class getresource getpath 獲取當前專案的工作路徑 是專案不是模組 獲取到的是 d 享學課堂 code 獲取當前專案的根路徑 classpath路徑 class getresource getpath 這裡獲取到的就是當...

各種排序總結

1.氣泡排序 時間複雜度 進行兩重迴圈,因此是o n 2 空間複雜度 原地排序,無需其他額外的空間,因此是o 1 void bubblesort int array,int length 2.快速排序 思想 快排的乙個重要思想是遞迴。每一輪遞迴,需要選出乙個基準元素 最好隨機選取,下面附的 是以第乙...