C 教程
冒泡排序(英語:Bubble Sort)是一種簡單的排序算法。它重復(fù)地走訪過要排序的數(shù)列,一次比較兩個元素,如果他們的順序(如從大到小、首字母從A到Z)錯誤就把他們交換過來。
過程演示:
選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再從剩余未排序元素中繼續(xù)尋找最小(大)元素,然后放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。
過程演示:
插入排序(英語:Insertion Sort)是一種簡單直觀的排序算法。它的工作原理是通過構(gòu)建有序序列,對于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入。插入排序在實現(xiàn)上,通常采用in-place排序(即只需用到 {displaystyle O(1)} {displaystyle O(1)}的額外空間的排序),因而在從后向前掃描過程中,需要反復(fù)把已排序元素逐步向后
挪位,為最新元素提供插入空間。過程演示:
希爾排序,也稱遞減增量排序算法,是插入排序的一種更高效的改進版本。希爾排序是非穩(wěn)定排序算法。
希爾排序是基于插入排序的以下兩點性質(zhì)而提出改進方法的:
過程演示:
把數(shù)據(jù)分為兩段,從兩段中逐個選最小的元素移入新數(shù)據(jù)段的末尾。
可從上到下或從下到上進行。
過程演示:
在區(qū)間中隨機挑選一個元素作基準,將小于基準的元素放在基準之前,大于基準的元素放在基準之后,再分別對小數(shù)區(qū)與大數(shù)區(qū)進行排序。
過程演示: