一、氣泡排序
大致分兩步:
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 每次拿乙個元素,跟他後...