1 package select; 2 3 import java.util.Scanner; 4 5 /*采用最简单的选择方式:从头到尾扫描序列找出最小的记录和第一个记录交换,接着在剩下的记录中继续这种选择和交换,最终使序列有序 6 * 时间复杂度:O(n^2) 7 * 此算法的额外空间只有一个temp,因此空间复杂度为O(1)*/ 8 public class jiandanselectSort { 9 10 public static void main(String[] args){ 11 Scanner cin = new Scanner(System.in); 12 String str = cin.nextLine(); 13 String[] st = str.split(" "); 14 int[] c = new int[st.length]; 15 for(int i=0;i<c.length;i++){ 16 c[i]=Integer.parseInt(st[i]); 17 } 18 sort(c); 19 for(int i=0;i<c.length;i++){ 20 System.out.print(c[i]); 21 System.out.print(" "); 22 } 23 24 } 25 public static void sort(int[] R){ 26 int i,j,k; 27 int temp; 28 for(i=0;i<R.length;i++){ 29 k=i;//k表示最小的元素的坐标; 30 //在无序序列中找到最小的元素 31 for(j=i+1;j<R.length;j++){ 32 if(R[k]>R[j]){ 33 k=j; 34 } 35 } 36 //最小元素和无序序列的第一个元素交换 37 temp = R[k]; 38 R[k]=R[i]; 39 R[i]=temp; 40 } 41 } 42 }