經(jīng)典排序算法(C/C++實(shí)現(xiàn))
雞尾酒排序(改進(jìn)的冒泡排序)
摘要: 雞尾酒排序(改進(jìn)的冒泡排序),原理是對(duì)要排序的數(shù)組進(jìn)行雙向冒泡排序,雙向冒泡排序又稱為雞尾酒排序。
閱讀全文
歸并排序MergeSort
摘要: 歸并排序(Merge sort,即合并排序)是建立在歸并操作上的一種有效的排序算法。該算法是采用分治法(Divide and Conquer)的一個(gè)非常典型的應(yīng)用。原理通俗 說(shuō)就是把原始數(shù)組分成若干子數(shù)組,對(duì)每一個(gè)子數(shù)組進(jìn)行排序,之后把子數(shù)組與子數(shù)組合并,合并后仍然有序,直到全部合并完,形成有序的數(shù)組。其時(shí)間復(fù)雜度為O(n)O(最優(yōu))、(nlog n)(最差)。
閱讀全文
插入排序InsertionSort
摘要: 插入排序就是每一步都將一個(gè)待排數(shù)據(jù)按其大小插入到已經(jīng)排序的數(shù)據(jù)中的適當(dāng)位置,直到全部插入完畢。其時(shí)間復(fù)雜度為O(n)(最優(yōu))、O(n^2)(最差)、O(n^2)(平均)。這是一個(gè)對(duì)少量元素進(jìn)行排序的有效算法。
閱讀全文
冒泡排序BubbleSort
摘要: 冒泡排序是我們接觸的最早的排序算法之一,它有著容易理解的優(yōu)勢(shì),時(shí)間復(fù)雜度為n-1(最優(yōu))、n(n-1)/2(最差),由于比較簡(jiǎn)單,此處只給出我自己編譯通過(guò)的C++源代碼,以供參考。
閱讀全文
計(jì)數(shù)排序CountSort
摘要: 一共需要三個(gè)數(shù)組,分別是待排數(shù)組nData,票箱數(shù)組(計(jì)數(shù)數(shù)組)pCount,和桶數(shù)組(存儲(chǔ)結(jié)果數(shù)組)pSort.
閱讀全文