各種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.快速排序 思想 快排的乙個重要思想是遞迴。每一輪遞迴,需要選出乙個基準元素 最好隨機選取,下面附的 是以第乙...