java算法之冒泡排序法
?
?
?
冒泡排序的優點:每進行一趟排序,就會少比較一次,因為每進行一趟排序都會找出一個較大值。
如上例:第一趟比較之后,排在最后的一個數一定是最大的一個數,第二趟排序的時候,只需要
比較除了最后一個數以外的其他的數,同樣也能找出一個最大的數排在參與第二趟比較的數后面,
第三趟比較的時候,只需要比較除了最后兩個數以外的其他的數,以此類推……也就是說,
沒進行一趟比較,每一趟少比較一次,一定程度上減少了算法的量。
?
import java.util.Scanner;
//冒泡排序法 口訣:
/* 外層循環 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");
}
}
}
轉載于:https://www.cnblogs.com/wjxbk/p/10083964.html
總結
以上是生活随笔為你收集整理的java算法之冒泡排序法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 称为的国之重器弓弩到底有什么不同?
- 下一篇: [USACO1.4]等差数列 Arith