C語言 快速排序 顏麓

2021-10-12 16:33:26 字數 754 閱讀 3107

快速排序是對氣泡排序的⼀種改進,它的基本思想是:選擇⼀個基準數,通過⼀趟排序將要排序的資料分割成獨⽴的兩部分;其中⼀部分的所有資料都⽐另 外⼀部分的所有資料都要⼩。然後,再按此⽅法對這兩部分資料分別進⾏快速排序,整個排序過程可以遞迴進⾏,以此達到整個資料變成有序序列。

其中每⼀趟的模式通過設定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 區...