C 快速排序演算法

2021-09-24 21:29:07 字數 967 閱讀 5684

對10個數字用快速排序演算法排序

演算法思想: 二分法 + 遞迴呼叫

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace arithmeticfastsort

console.writeline();

console.writeline("輸出快速排序後的:");

fastsortfuc(mylist,0,mylist.count-1);

for (int i = 0; i < mylist.count; i++)

console.readkey();

}public static void fastsortfuc(listlist, int first, int last) //放乙個array進去,輸出乙個排序好的陣列 需要輸入這個數列的首位元素

while (i < j)

if (i >= j)

list[i] = list[j];

while (i < j && key >= list[i])

if (i >= j)

list[j] = list[i];

}list[i] = key;

//遞迴呼叫

fastsortfuc(list, first, i - 1);

fastsortfuc(list, i + 1, last);}}

}

輸出結果

排序演算法 快速排序 C

單向掃瞄就地重排 int partitation 1way int array,int nidxleft,int nidxright return nidxsmall 雙向掃瞄就地重排 int partitation 2way int array,int nidxleft,int nidxright...

快速排序演算法C

快速排序演算法 c 實現 評注版 經常看到有人在網上發快速排序的演算法,通常情況下這些人是在準備找工作,或者看 演算法導論 這本書,而在他們發布的 通常是差不多的版本,估計也是網上 copy 一下,自己改改,跑過了就算了,但是通常這樣玩根本沒有太大作用,如果到一家公司,給你一台不能上網的筆記本,20...

快速排序演算法(C)

sort快排函式的基本版,效率n logn,快排的完全版就是在遞迴之中夾雜對序列的預判斷,最優的選擇排序方法,快速排序演算法只是其中之一。簡單的說明一下快速排序的思想,對於乙個數列,首先選擇乙個基數 x 進行第一次排序,把比x 小的放在x左邊,大的放右邊 預設從小到大 例如 8 4 5 7 6 9 ...