C 基礎 插入排序 選擇排序 快速排序

2021-09-28 22:27:47 字數 1223 閱讀 8222

一、插入排序

實現思路:拿當前元素和當前元素前面的所有元素做比較,如果發現比當前元素大的,就讓它向後移動 

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...