所謂排序,就是要整理檔案中的記錄,使之按關鍵字遞增(或遞減)次序排列起來。其確切定義如下:
輸入:n個記錄r1,r2,…,rn,其相應的關鍵字分別為k1,k2,…,kn。
輸出:ril,ri2,…,rin,使得ki1≤ki2≤…≤kin。(或ki1≥ki2≥…≥kin)。
這裡,我們簡單介紹幾種排序方法,直接插入排序、希兒排序、氣泡排序、快速排序、直接選擇排序,文中所提及的**在ie6下測試通過。
直接插入排序基本思想
假設待排序的記錄存放在陣列r[1..n]中。初始時,r[1]自成1個有序區,無序區為r[2..n]。從i=2起直至i=n為止,依次將r[i]插入當前的有序區r[1..i-1]中,生成含n個記錄的有序區。
演算法描述
function insertsort(arr)
while (j>-1 && (temp) < (arr[j]));
arr[j+1] = temp;
}//endif
}status = (new date() - st) + ' ms';
return arr;
}
JavaScript實現的幾種排序
原理 氣泡排序的過程就是將陣列中相鄰的兩個元素進行比較,如果前面的元素比後面的元素要大交換位置,否則位置不變 舉個栗子 有陣列 arr 3,5,4,2,1 第一輪迴圈 3和5比較,3小於5兩者位置不變,接下來5和4比較,5大於4,兩者交換位置,接著5和2比較,5 2兩者交換位置,繼續5和1 比較 5...
JavaScript版幾種常見排序演算法
說明 個人理解 一些排序演算法 js 利用sort進行排序 systemsort function array 氣泡排序 bubblesort function array return array 快速排序 quicksort function array var key array i var ...
JavaScript 繼承的幾種方式
1 原型繼承 控制檯顯示的結果 這種繼承方式有個缺點就是繼承的所有的屬性都是一樣的 2 建構函式繼承 function student name,age,score var stu1 new student 小明 10,男 10kg 100 console.log stu1.name,stu1.ag...
javascript 建立物件的幾種方式
呃呃呃,又開啟js高程了,為啥有一種嚴肅的心情捏?今天看了建立物件這一節,寫些筆記,鞏固一下,有時間會繼續補充的。我們知道,想要操作這些物件,首先你得有物件,物件 找?當然是自己建立唄!說一下比較常用的3種建立物件的方式。1 字面量 var obj1 var obj2 2 new操作符瞭解這部分建議...
javascript繼承的幾種方法
理解連結 1,簡單原型鏈 function super function sub sub.prototype new super 核心 var sub1 new sub var sub2 new sub sub1.val 2 sub1.arr.push 2 alert sub1.val 2 aler...