// 索引堆
function swap(arr, x, y)
// 索引堆
儲存結構為兩個陣列
第乙個陣列 為索引
第二個陣列為 值
每次取最大值的時候,只改變索引結構 而值不變 這樣保證了資料的一致性
class maxheap
// 返回 資料的大小
size()
// 判斷item是否是 空的
isempty()
// 新增新元素
insert (item)
shiftup(count)
}// 出堆
extractmax()
return null;
}shiftdown(k)
// 如果父節點 大於子節點最大值 則跳出迴圈
if( this.item[this.indexes[k]] > this.item[this.indexes[j]])
swap(this.indexes, k, j);
k=j;}}
//生成乙個陣列
function generate(n, rangel, rangr)
console.log(max.indexes);
console.log(max.item)
console.log(arr)
var arr = generate(10, 0, 10);
heapsort(arr, 10);
資料結構和演算法之排序五 選擇排序
所以說呀這就是強盜行為,遇到自己想的就拿過來,還有比這更強盜的麼。上 表示敬意 public static void selectsort int arr 我們可以看見我們控制次數的時候進行了 1的操作,這時因為你都保證前邊所有的資料都通過排序處理好了,那麼最後乙個可不就是無冕之王,待著最後了唄。裡...
資料結構之排序演算法
1.插入排序 直接插入排序 include void insertsort int unsort int length unsort j temp int main void insertsort num,7 int i 0 for i i 7 i return 0 折半插入排序 include v...
資料結構之排序演算法
學過好久的東西,感覺都忘記的差不多了,雖然可能日常寫 的過程之中也可能寫過一些演算法,但是從來都沒有規整,最近忙裡偷閒,寫點關於排序的演算法,當然好多人都寫過一些很不錯的演算法blog,我寫一下,只是方便自己日後檢視,當然也給有需要的朋友一些參考,歡迎指正 排序演算法有 氣泡排序,選擇排序,插入排序...