內排序-簡單選擇排序
阿新 • • 發佈:2018-08-20
pack args n-1 ring chang 算法 new 而後 int
算法思想: 每次從序列 (i=0.1.2.......n-1) 中選出一個i值作為最大或者最小值如此下去完成排序,具體做法是假定,i是最小或最大,再和i+1 .....n-1的值比較,以確定最大或者最小的序號,而後交換他們的值。
package Sort; public class SelectSort { public static void main(String[] args) { int[] a = new int[] { 20, 30, 90, 40, 70, 110, 60, 10, 100, 50, 80, 1, 2 }; SelectSort selectsort= new SelectSort(); selectsort.Sort(a); for (int t : a) System.out.println(t); } void ExchangeData(int[] datas, int index1, int index2) { datas[index1]= datas[index1]+datas[index2]; datas[index2]= datas[index1]-datas[index2]; datas[index1]= datas[index1]-datas[index2]; } public void Sort(int[] array) { int n=array.length; int min_index=0; for(int i=0;i<n;i++) { min_index=i; for(int j=min_index+1;j<n;j++) { if(array[j]<array[min_index]) { min_index=j; } } ExchangeData(array,i,min_index); } } }
內排序-簡單選擇排序