快速排序是對氣泡排序的⼀種改進,它的基本思想是:選擇⼀個基準數,通過⼀趟排序將要排序的資料分割成獨⽴的兩部分;其中⼀部分的所有資料都⽐另 外⼀部分的所有資料都要⼩。然後,再按此⽅法對這兩部分資料分別進⾏快速排序,整個排序過程可以遞迴進⾏,以此達到整個資料變成有序序列。
其中每⼀趟的模式通過設定key當基準元素,key的選擇可以是資料的第⼀個, 也可以是資料的最後⼀個。
#include
#define size 6
void
quick_sort
(int arr,
int low,
int high)
while
(left
(left
while
(left=arr[left])if
(left
} arr[left]
=key;
quick_sort
(arr,low,left-1)
;quick_sort
(arr,left+
1,high);}
intmain()
;quick_sort
(arr,
0,size-1)
;for
(int i=
0;i)return0;
}
c語言 函式 顏麓
1 函式定義 函式就是完成特定功能的 塊,函式同時也是構成我們c程式的基本單元。乙個c程式必須有乙個主函式main和其他的函式組成。其他函式可以沒有,但是必須有main函式,main函式是整個c程式執行的入口。main函式可以條用其他函式,其他函式之間也可以相互的呼叫 2 作用 1 復用 2 分解過...
c語言 結構體 顏麓
1 定義 可以將不同的資料型別封裝在一起構建出來的乙個新的型別 2 構造結構體的語法方式 宣告乙個結構體,就是創造了一種新的型別 struct 結構體名 後面的分號不可省略成員列表中的成員型別可以是c語言提供的基本型別,也可以是結構體或其他結構型別。struct 結構體名 a,b struct 結構...
C語言 動態記憶體 顏麓
記憶體四區 1 堆區 由程式設計師主動去申請空間,使用完成後要主動釋放。申請 void malloc size 釋放 free 指標名 1g空間2 棧區 是乙個動態儲存區,區域性變數和形參放在這一塊,由編譯器釋放,函式呼叫結束就會被釋放。3 全域性區 存放常量及巨集定義,全域性變數和靜態變數。4 區...