排序演算法例項

2021-10-09 12:37:35 字數 1245 閱讀 4178

冒泡《選擇《插值《希爾《快速(效率)

/**

* 氣泡排序

*/public

int[

]getintlist

(int

ints)}if

(!true

)else

}return ints;

}/**

* 選擇排序法

* 每次迴圈拿出最小的乙個值放在前面

*/public

int[

]getselectsort

(int

ints)

}//當minindex改變了才進行換位操作

if(minindex != i)

}return ints;

}/**

* 插入排序法

*/public

int[

]getinsertsort

(int

ints)

//1 2 3 4 x 9 7

//_ _ _ _ _ _ _

ints[insertindex+1]

= insertval;

}return ints;

}/**

* 優化希爾排序法

*/public

int[

]gethillsortmax

(int

ints)

ints[j]

= temp;}}

}return ints;

}/**

* 快速排序

*/public

void

getquicksort

(int

ints,

int start,

int end)

//如果高位值 小於初始值 就讓它賦值到低位

//(右邊賦值給左邊)

ints[low]

= ints[hight]

;while

(low<=first)

ints[hight]

= ints[low];}

ints[low]

= first;

//遞迴處理小的數字

getquicksort

(ints,start,low)

;//遞迴處理大的數字

getquicksort

(ints,low+

1,end)

;}

快速排序演算法例項

對關鍵碼序列 66,13,51,76,81,26,57,69,23 進行快速排序。求第一趟劃分後的結果。關鍵碼序列遞增。以第乙個元素為劃分基準。將兩個指標i,j分別指向表的起始和最後的位置。反覆操作以下兩步 1 j逐漸減小,並逐次比較j指向的元素和目標元素的大小,若p j 2 i逐漸增大,並逐次比較...

演算法 選擇排序,例項分析選擇排序演算法

選擇排序,將乙個序列看做兩個部分,前面有序,後面無序,每次在後面的無序序列中,選擇乙個最小的元素,交換到前面有序序列的末尾,直到無序序列全部完成交換,即可完成排序 選擇排序是不穩定的排序演算法 有乙個序列 5,2,0,1,3,1,4 第一趟排序 第二趟排序 此時我們看到,經過兩趟排序,前面兩個元素 ...

C用語言排序演算法 希爾排序(例項)

希爾排序 在直接插入排序的思想下設定乙個最小增量dk,剛開始dk設定為n 2。進行插入排序,隨後再讓dk dk 2,再進行插入排序,直到dk為1時完成最後一次插入排序,此時陣列完成排序。include 進行插入排序 初始時從dk開始增長,每次比較步長為dk void insrtsort int a,...