踏踏實實學演算法,從今天開始,從現在開始。
選擇排序的思想:從開始遍歷選擇最小的元素與第乙個元素進行交換,則第乙個數字為最小,再從剩下元素中選擇最小的元素與第二個進行交換,直到最後乙個元素,陣列實現排序。(從結尾遍歷選擇最大的元素)優化:把在無序序列中選擇最大元素的過程寫成乙個函式,更加容易理解。
public
class
selectionsort
}// 未排序中最大數與未排序中最後乙個數交換
if (i != index) }}
/*** 寫在乙個函式裡,找最小
*@param array
*/public
static
void
sortoneone(int array)
if (i != index) }}
}/**
* 寫在兩個函式裡
*@param array destination array
*/public
static
void
sorttwo(int array)
}/**
* 找到陣列指定範圍的最大值的index
*/private
static
intindexoflargest(int array, int start, int end)
}return index;
}public
static
void
main(string args) ;
// selectionsort.sortone(array);
// selectionsort.sortoneone(array);
selectionsort.sorttwo(array);
for(int i = 0; i < array.length; i++)
}}
如果本部落格對你有一定幫助,客官請留下你的腳步吧…
演算法 選擇排序,例項分析選擇排序演算法
選擇排序,將乙個序列看做兩個部分,前面有序,後面無序,每次在後面的無序序列中,選擇乙個最小的元素,交換到前面有序序列的末尾,直到無序序列全部完成交換,即可完成排序 選擇排序是不穩定的排序演算法 有乙個序列 5,2,0,1,3,1,4 第一趟排序 第二趟排序 此時我們看到,經過兩趟排序,前面兩個元素 ...
排序演算法 選擇排序
private static int leftchild int i private static void perc int a,int i,int n for int i 0 ir j break else public static void heasp int r,int n for i 0...
排序演算法 選擇排序
摘自 wiki百科 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小元素,然後放到排序序列末尾 目前已被排序的序列 以此類推,直到所有元素均排序完畢。c語言實現 vo...