一、插入排序
實現思路:拿當前元素和當前元素前面的所有元素做比較,如果發現比當前元素大的,就讓它向後移動
static void main(string args)
;for (int i = 1; i < array.length; i++)
else}}
for (int i = 0; i < array.length; i++)
console.readkey();
}
二、選擇排序
思路:每次都從未排序的資料中查詢乙個最小值放到最前面
static void main(string args)
;//每次都從未排序的資料中查詢乙個最小值放到最前面
for (int i = 0; i < array.length-1; i++)}}
for (int i = 0; i < array.length; i++)
console.readkey();
}
三、快速排序
思路:1.先從數列中取出乙個數作為基準數。
2.分割槽過程:將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊。
3.再對左右區間重複第二步,直到各區間只有乙個數。
static void main(string args)
;quicksort(array, 0, array.length - 1);
foreach (var item in array)
console.readkey();
}/// /// 1.先從數列中取出乙個數作為基準數。
/// 2.分割槽過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊。
/// 3.再對左右區間重複第二步,直到各區間只有乙個數。
///
/// 要排序的陣列
/// 要排序陣列的開始索引
/// 要排序陣列的結束索引
static void quicksort(int array, int left, int right)
else}}
//跳出迴圈 現在i=j i是中間位置
array[i] = temp;
quicksort(array,left,i-1);
quicksort(array,i+1,right);
}}
氣泡排序 選擇排序 插入排序 快速排序
include 氣泡排序,思想 從最末位開始 往前一位一位比較,比前一位小的話,就交換位置 兩個for,第乙個for迴圈用於記錄已排序的位置,第二個for迴圈用於已排序位置到結束位置之間的氣泡排序 void popsort int p int n 選擇排序,由前往後選擇最小的數。一輪比較完後,將最小...
氣泡排序 選擇排序 插入排序 快速排序
氣泡排序 元素兩兩比較,大的往後放,經過一輪比較後,那麼最大的元素就會出現在最後面。public static void main string args for int j 0 j arr i 1 system.out.println arrays.tostring arr 每次拿乙個元素,跟他後...
氣泡排序 選擇排序 快速排序 插入排序
排序只對一維資料有意義.兩層迴圈,第一層是遍歷每乙個元素.第二層迴圈,讓兩兩之間進行比較交換.時間複雜度 o n 2 空間複雜度 o 1 穩定性 穩定的 def buble sort arr for i in range len arr 1 for j in range len arr i 1 if...