冒泡排序———數組(int []array)
/* 冒泡排序實現 (1)找出數組中的最大值並賦值給數組的最後的位置 (2)N個元素最多需要N-1趟 (3)判斷數組中的元素是否還是無序。 (4)實現任意數組都可以由小到大排序(方法); */ public class Bubble{ public static void main(String[]args) { //靜態聲明一個數組 int []a={23,45,65,76,7,67,8,32}; //實現找出數組中的最大值並賦值給數組的最後的位置 findMax(a); //實現進行a.length-1趟,每一趟都判斷a.length-1 rank(a); //判斷數組中的元素是否還是無序。實現任意數組都可以由小到大排序(方法) bubble(a); } //實現找出數組中的最大值並賦值給數組的最後的位置 public static void findMax(int[]b) { int temp=0; for(int i=0;i<b.length-1;i++) { if(b[i]>b[i+1]) { temp=b[i]; b[i]=b[i+1]; b[i+1]=temp; } } System.out.println("最大值賦值到數組的末尾:"); for(int i=0;i<b.length;i++) { System.out.print(b[i]+"\t"); } System.out.println(); } //實現進行a.length-1趟,每一趟都判斷a.length-1 public static void rank(int []c) { System.out.println("由小到大輸出:"); int temp=0;//交換的盒子 for(int j =1;j<c.length;j++) { for(int i=0;i<c.length-1;i++) { if(c[i]>c[i+1]) { temp=c[i]; c[i]=c[i+1]; c[i+1]=temp; } } } for(int num:c){ System.out.print(num+"\t"); } System.out.println(); } //判斷數組中的元素是否還是無序。實現任意數組都可以由小到大排序(方法) public static void bubble(int[]d) { int temp=0; for(int i=1;i<d.length;i++) { /* 做一個標誌,標誌的作用當數組中的元素 已經是有序是就跳出循環不再進行下一趟比較 */ boolean flag=true; for(int j=0;j<d.length-i;j++) { if(d[j]<d[j+1]) { temp=d[j]; d[j]=d[j+1]; d[j+1]=temp; flag=false; } if(flag) { break; } } } System.out.println("從大到小排序:"); for(int num:d) { System.out.print(num+"\t"); } System.out.println(); } }