冒泡排序
重復地走訪過要排序的數列京郑,一次比較兩個元素宅广,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換些举,也就是說該數列已經排序完成跟狱。
選擇排序
首先在未排序序列中找到最小元素,存放到排序序列的起始位置户魏,然后驶臊,再從剩余未排序元素中繼續(xù)尋找最小元素挪挤,然后放到排序序列末尾。以此類推关翎,直到所有元素均排序完畢电禀。
插入排序
對于未排序數據,在已排序序列中從后向前掃描笤休,找到相應位置并插入。插入排序在實現上症副,通常在從后向前掃描過程中店雅,需要反復把已排序元素逐步向后挪位,為最新元素提供插入空間贞铣。
快速排序
·從數列中挑出一個元素闹啦,稱為 "基準"(pivot),
·重新排序數列辕坝,所有元素比基準值小的擺放在基準前面窍奋,所有元素比基準值大的擺在基準的后面(相同的數可以到任一邊)。在這個分區(qū)退出之后酱畅,該基準就處于數列的中間位置琳袄。這個稱為分區(qū)(partition)操作。
·遞歸地(recursive)把小于基準值元素的子數列和大于基準值元素的子數列排序纺酸。