資料結構和演算法之排序五 選擇排序

2022-05-05 13:12:10 字數 391 閱讀 9774

所以說呀這就是強盜行為,遇到自己想的就拿過來,還有比這更強盜的麼。上**表示敬意:

public

static

void selectsort(int

arr)}}

}

我們可以看見我們控制次數的時候進行了-1的操作,這時因為你都保證前邊所有的資料都通過排序處理好了,那麼最後乙個可不就是無冕之王,待著最後了唄。裡層迴圈+i的原因是因為我們在經歷過i次迴圈以後是不是前面的i個資料都已經預設有序了,還去搞別人幹嘛。所以為了優化,我們可以+i。所以在這裡我們可以簡單看出來冒泡和選擇,冒泡就是兩個鄰居之間進行比較,進行值傳遞,保證最後乙個資料的最大或者最小。選擇排序就是第乙個資料拿著萬貫家財挑美女,最好看的帶回家先,保證每次帶回家的都是剩下的一堆中自己最想要的。

資料結構 排序演算法之選擇排序

一 選擇排序 最差的排序演算法 在選擇排序中,假定我們需要公升序,因此在每次排序中,需要找到最大的元素,將其放在最後,在每一次的迴圈中,都是將最大的元素放在最後,因此對於資料較多的陣列,迴圈的次數將與陣列中元素的個數一致,因此,在對於這種陣列進行排序時,將十分的浪費時間。有關選擇排序的思路,如下所示...

資料結構與演算法 排序演算法之選擇排序和堆排序

選擇排序屬於內部排序法,是從想要排序的資料中,按指定的規則選出某乙個元素,再依規定的交換位置後達到排序的目的 選擇排序 select sorting 也是一種簡單的排序方法。它的基本思想是 第一次從arr 0 arr n 1 中選取最小值,與arr 0 交換,第二次從arr 1 arr n 1 中選...

資料結構之排序演算法(五

索引堆 function swap arr,x,y 索引堆 儲存結構為兩個陣列 第乙個陣列 為索引 第二個陣列為 值 每次取最大值的時候,只改變索引結構 而值不變 這樣保證了資料的一致性 class maxheap 返回 資料的大小 size 判斷item是否是 空的 isempty 新增新元素 i...