标签:
1 package exchange; 2 3 import java.util.Scanner; 4 5 /*通过一系列交换完成,第一个和第二个比,大则交换,第二个和第三个比,大则交换...最终最大的那个会到最后一个,一趟冒泡完成 6 * 前n-1个元素再进行同样的操作,直到一趟排序过程中没有发生一次交换。 7 * 时间复杂度:O(n^2) 8 * 空间复杂度O(1)*/ 9 public class maopaosort { 10 11 public static void main(String args[]){ 12 Scanner cin = new Scanner(System.in); 13 String str = cin.nextLine(); 14 String[] st = str.split(" "); 15 int[] c = new int[st.length]; 16 for(int i=0;i<st.length;i++){ 17 c[i]=Integer.parseInt(st[i]); 18 } 19 20 sort(c); 21 for(int i=0;i<c.length;i++){ 22 System.out.print(c[i]); 23 System.out.print(" "); 24 } 25 cin.close(); 26 } 27 public static void sort(int R[]){ 28 int length = R.length; 29 int temp = 0; 30 int flag = 0; 31 for(int i=length;i>0;i--){ 32 flag =0; 33 for(int j=1;j<i;j++){ 34 if(R[j-1]>R[j]){ 35 temp = R[j]; 36 R[j]=R[j-1]; 37 R[j-1]=temp; 38 flag = 1; 39 } 40 } 41 if(flag ==0)//一趟排序中如果没有发生元素交换,则证明序列有序,排序结束 42 return; 43 } 44 } 45 }
标签:
原文地址:http://www.cnblogs.com/Janejxt/p/5815634.html