【排序】选择排序模板

来源:互联网 发布:自建淘宝客网站模板 编辑:程序博客网 时间:2024/05/17 04:59
/*在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;
然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,
直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。

*/

import java.util.*;class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);System.out.print("Input n : ");int n=sc.nextInt();int[] a=new int[n];for(int i=0;i<n;i++){a[i]=sc.nextInt();}selectionSort(a);print(a);}public static void selectionSort(int[] a){for(int i=0;i<a.length-1;i++){int minIndex=i;for(int j=i+1;j<a.length;j++){if(a[j]<a[minIndex]){minIndex=j;}}if(minIndex!=i){int temp=a[i];a[i]=a[minIndex];a[minIndex]=temp;}/*if(minIndex!=i&&a[i]!=a[minIndex]){a[i]=a[i]^a[minIndex];a[j]=a[i]^a[minIndex];a[i]=a[i]^a[minIndex];}*/}}public static void print(int[] a){for(int i=0;i<a.length-1;i++){System.out.print(a[i]+" ");}System.out.println(a[a.length-1]);}}


0 0
原创粉丝点击