选择排序算法的java实现
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (一)选择排序?
通俗的原理:每次遍历整个数组,找出最小的放在第一位,之后继续找剩下n-1个的最小的,放在第二位,一直这样下去......
public class SelectSort {public static void opFunction(int[] arr){//先将找出n个元素中最小的放在第一位,之后,找出剩下的n-1个元素中最小的放在第二位.....for(int i=0;i<arr.length;i++){int k=i;/*第一轮,获取最小的值,原理:取第一个与所有的元素作比较,若比第一个小就将编号给第一,之后比较是否交换了编号,若换了,就将第一个元素值跟arr[j]交换,最后通过for遍历所有元素,进行第二轮、第三轮...的比较*/for(int j=i+1;j<arr.length;j++){if(arr[j]<arr[k]){k=j;}}if(k!=i){int t; t=arr[k];arr[k]=arr[i];arr[i]=t;}}} public static void main(String args[]){ int[] arr={2,9,5,1,8,4}; for(int i=0;i<arr.length;i++){ System.out.print(arr[i]); } //排序处理 opFunction(arr); for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } }}?