冒泡排序法 口訣: 外層循環 0到n-1 //控制比較輪數 n 表示元素的個數 內層循環 0到n-i-1 //控制每一輪比較次數 兩兩比較作交換
冒泡排序的優勢:每進行一趟排序,就會少比較一次,由於每進行一趟排序都會找出一個較大值。java
如上例:第一趟比較以後,排在最後的一個數必定是最大的一個數,第二趟排序的時候,只須要算法
比較除了最後一個數之外的其餘的數,一樣也能找出一個最大的數排在參與第二趟比較的數後面,排序
第三趟比較的時候,只須要比較除了最後兩個數之外的其餘的數,以此類推……也就是說,input
沒進行一趟比較,每一趟少比較一次,必定程度上減小了算法的量。class
import java.util.Scanner;import
//冒泡排序法 口訣:
/* 外層循環 0到n-1 //控制比較輪數 n 表示元素的個數
* 內層循環 0到n-i-1 //控制每一輪比較次數
兩兩比較作交換
*/
public class Demo03 {循環
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int NUM = 5;
int []a = new int[NUM];
System.out.println("請輸入數字:");
for(int i=0;i<a.length;i++){
a[i] = input.nextInt();
}
System.out.println("排序以前:");
for (int i : a) {
System.out.print(i+"\t");
}
//冒泡排序實現
for(int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-i-1;j++){
if(a[j]>a[j+1]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
System.out.println("\n排序以後:");
for (int i : a) {
System.out.print(i+"\t");
}
}im
}next