在C語言中,常見的排序方法有以下幾種:
冒泡排序(Bubble Sort):通過相鄰元素的比較和交換,每次將最大或最小元素冒泡到數組的末尾。
選擇排序(Selection Sort):每次從未排序的部分選擇出最小(或最大)的元素,放到已排序部分的末尾。
插入排序(Insertion Sort):將未排序的元素逐個插入到已排序部分的正確位置,直到全部元素都排序完畢。
快速排序(Quick Sort):通過分割和遞歸的方式,將數組不斷地劃分為兩個子數組,其中一個子數組的所有元素都小于另一個子數組的所有元素。
歸并排序(Merge Sort):通過遞歸地將數組劃分為兩個子數組,對子數組進行排序,然后將已排序的子數組進行合并。
堆排序(Heap Sort):通過構建最大堆或最小堆,將堆頂元素與末尾元素交換,然后對剩余元素重新調整堆,直到所有元素都排序完畢。
希爾排序(Shell Sort):將數組按照一定的間隔分組,對每個分組進行插入排序,然后逐漸縮小間隔,再次進行插入排序,直到間隔為1,完成最后的排序。
計數排序(Counting Sort):通過統計元素的頻率,確定每個元素在排序后的位置。
桶排序(Bucket Sort):將元素根據大小分配到不同的桶中,對每個桶進行排序,然后將所有桶中的元素按順序合并。
基數排序(Radix Sort):將元素按照位數進行排序,先按個位數排序,再按十位數排序,依次類推。