每天一種演算法 選擇排序

2021-07-11 05:18:53 字數 519 閱讀 3925

選擇排序是這樣的, 首先,找到最小的乙個數,放在第乙個位置,然後在剩下的元素中,找到最小的 ,放在第二個位置,再在除過這兩個元素的剩下的裡面找到最小的,就是第三小。這樣依次類推。最後得到的數列,就是從小到大了。

這個排序的效率不是很高。 如果有100個數,要比較100+99+98 ····+1 次。

package bigo;

public

class selectsort

if(min != i)}}

public

static

void

main(string args) ;

for(int i =0; iout.println(src[i]);

}system.out.println("after select sort");

selectsort(src,src.length);

for(int i =0; iout.println(src[i]);}}

}

每天一演算法 (選擇排序)

一 原理 在要排序的一組數中,選出最小的乙個數與第乙個位置的數交換 然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後乙個數比較為止 二 思路 1.假設有乙個陣列為 n個數 第一趟先選出 最小的元素 min k 將min k 位置 和 第乙個元素的位置 互換,此時第乙個元...

每天一種設計模式 模板方法

松本行弘的程式世界 對模板方法 template method 的說明非常清晰 在父類的乙個方法中定義演算法的框架,其中幾個步驟的具體內容則留給子類來實現。class a def initialize name jinbin word hello end def say word puts welc...

每天一演算法 (氣泡排序)

一 原理 比較兩個相鄰的元素,將值大的元素交換至右端。二 思路 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複第一趟步驟,直至全...