Java实现冒泡排序

 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 }
原文地址:https://www.cnblogs.com/Janejxt/p/5815634.html