C語言之氣泡排序 快速排序法 希爾排序法

2021-10-08 13:37:45 字數 1379 閱讀 9683

眾所周知程式設計排序方法眾多而且程式的好壞就取決於演算法的使用

下面是博主現在會的幾種排序方法希望對大家有所幫助。

希爾排序法:

/* * @author: stylle

* @date: 2020-11-14 15:52:03

* @lasteditors: stylle

* @lastedittime: 2020-11-14 15:52:16

* @filepath: \undefinedc:\users\23999\desktop\text.c

*/#include

void

out(

int s)

//陣列輸出

}void

main()

;int end =

9, start =0;

//開始的下標和結束的下標

int increment = end - start +1;

//長度

int i =

0, temp =0;

do//進行判斷長度是否大於1

while

(j >= start && s[j]

> temp)

; s[j + increment]

= temp;}}

}while

(increment >1)

;out

(s);

}

氣泡排序:

#include

intmain()

}}//迴圈輸出模組

for(i =

0; i <

10; i++

)return0;

}

快速排序法:

#include

void

sort

(int s,

int left,

int right)

//進行排序

s[i]

= key;

sort

(s, left, i -1)

;//遞迴子表1,在key的左邊的下標

sort

(s, i +

1, right)

;//遞迴子表2,在key的右邊的下標}}

void

out(

int s)

//輸出陣列

}void

main()

;out

(s);

printf

(「\n」)

;sort

(s,0,9

);out(s)

;}

C語言之希爾排序法(4)

希爾排序 shellsort 是插入排序的一種 是針對直接插入排序演算法的改進演算法先將要排序的一組數按某個增量gap分成若干組,每組中記錄的下標相差gap.對每組中全部元素進行排序,然後再用乙個較小的增量對它進行,在每組中再進行排序。當增量減到1時,整個要排序的數被分成一組,排序完成。演算法 希爾...

C語言之氣泡排序

其實就是把乙個陣列的元素,按照從小到大 從大到小 得順序,重新排列起來,這種排序就叫氣泡排序 例 int nums 5 經過排序後 下標0的元素變成了1 下標1的元素變成了2 下標2的元素變成了3 下標3的元素變成了4 下標4的元素變成了9 有n輪,每輪從第乙個元素開始跟下乙個元素進行比較,大的放在...

選擇,冒泡,快速,希爾,堆排序 C語言

排序是計算機程式設計中的一種重要操作,它的功能是將乙個資料元素的序列。重新排列成有序的序列。排序的時間複雜度,空間複雜度,還有穩定性往往是選取的目標。時間複雜度,空間複雜度越低越好,穩定性越穩定越好。時間,空間即消耗的越小越好。穩定性則是看資料是否有跳躍交換,跳躍的話就不穩定,不跳躍 相鄰交換 就穩...