氣泡排序,快速排序,插入排序

2021-07-26 17:30:19 字數 938 閱讀 9894

一、氣泡排序

大致分兩步:

1、依次對比相鄰2個數字,前者比後者大就調換位置

2、重複第一步操作,直到所有數字都按順序排列

function bubblesort(arr)}}

return arr;

}

二、快速排序大致分三步:

1、找基準(一般是以中間項為基準)

2、遍歷陣列,小於基準的放在left,大於基準的放在right

3、遞迴

function quicksort(arr)

var pivotindex=math.floor(arr.length/2);

//找基準,並把基準從原陣列刪除

var pivot=arr.splice(pivotindex,1)[0];

//定義左右陣列

var left=, right=;

//比基準小的放在left,比基準大的放在right

for(var i=0;i

三、插入排序(對於少量元素比較有效)

原理:像排序一手撲克牌,開始時,我們的左手為空並且桌子上的牌面向下。然後,我們每次從桌子上拿走一張牌並將它插入左手中正確的

位置。為了找到一張牌的正確位置,我們從右到左將它與已在手中的每張牌進行比較,如圖2-1所示。拿在左手上的牌總是排序好的,原來這些牌是桌子上牌堆中頂部的牌。

手上的牌是有序數列,桌子上的牌是無序數列。

快速排序,氣泡排序,插入排序,希爾排序

快速排序 氣泡排序 插入排序 插入排序是最簡單最直觀的排序演算法,它的依據是 遍歷到第n個元素的時候前面的n 1個元素已經是排序好的了,那麼就查詢前面的n 1個元素把這第n個元素放在合適的位置,如此下去直到遍歷完序列的元素為止.演算法的複雜度也是簡單的,排序第乙個需要1的複雜度,排序第二個需要2的複...

氣泡排序 選擇排序 插入排序 快速排序

include 氣泡排序,思想 從最末位開始 往前一位一位比較,比前一位小的話,就交換位置 兩個for,第乙個for迴圈用於記錄已排序的位置,第二個for迴圈用於已排序位置到結束位置之間的氣泡排序 void popsort int p int n 選擇排序,由前往後選擇最小的數。一輪比較完後,將最小...

氣泡排序 選擇排序 插入排序 快速排序

氣泡排序 元素兩兩比較,大的往後放,經過一輪比較後,那麼最大的元素就會出現在最後面。public static void main string args for int j 0 j arr i 1 system.out.println arrays.tostring arr 每次拿乙個元素,跟他後...