排序執行的動做有比較、交換、移動,冒泡排序在排序裏面最簡單啦,冒泡排序每次選出最大的數,放在最右邊,使用Java中的數組實現冒泡排序。數組
交換兩個數this
public class SwapTwo { /** *@author chengdu *@param args */ private int[] bubble; public void setBubble(int[] bubble){ this.bubble = bubble; } public int[] getBubble(){ return bubble; } public void swapTwoNumber(int x, int y){ //傳入數組的索引位置,交互數組的兩個值 int lenbubble = bubble.length; if(x > lenbubble - 1 || y > lenbubble - 1){ System.out.println("數組越界"); } else { int temp; if(bubble[x] > bubble[y]){ temp = bubble[x]; bubble[x] = bubble[y]; bubble[y] = temp; } } System.out.println("從小到大依次是:"+bubble[x]+","+bubble[y]); } public static void main(String[] args) { // TODO Auto-generated method stub SwapTwo st = new SwapTwo(); int[] bubble = {1, 9, 8, 5, 2, 6, 4, 3, 7}; System.out.println(bubble.length); st.setBubble(bubble); st.swapTwoNumber(0, 1); } }
排序spa
public class BubbleSort { /** * @author chengdu * @param args */ private SwapTwo swaptwo; public void setSwaptwo(SwapTwo swaptwo){ this.swaptwo = swaptwo; } public SwapTwo getSwaptwo() { return swaptwo; } public void bubbleSortMethod(int[] array){ //傳入待排序數組 int pos; //第幾趟比較 int lenarray = array.length; swaptwo.setBubble(array); for(pos=1; pos < lenarray; pos++){ System.out.println("次數-------:"+pos); for(int i = 0; i < lenarray - pos; i++){ //一次排序的過程,將最大的數放到最後面 swaptwo.swapTwoNumber(i, i+1); } } } public static void main(String[] args) { // TODO Auto-generated method stub SwapTwo swaptwo = new SwapTwo(); BubbleSort bubblesort = new BubbleSort(); int[] arrayone = {1, 9, 8, 3, 7, 6, 5, 2, 4, 10, 11, 35, 24}; //待排序數組 //swaptwo.setBubble(arrayone); //設置一下該類的屬性 bubblesort.setSwaptwo(swaptwo); bubblesort.bubbleSortMethod(arrayone); for(Integer i : arrayone){ System.out.println(i); } //swaptwo.swapTwoNumber(1, 2); } }
運行code
次數-------:1
從小到大依次是:1,9
從小到大依次是:8,9
從小到大依次是:3,9
從小到大依次是:7,9
從小到大依次是:6,9
從小到大依次是:5,9
從小到大依次是:2,9
從小到大依次是:4,9
從小到大依次是:9,10
從小到大依次是:10,11
從小到大依次是:11,35
從小到大依次是:24,35
次數-------:2
從小到大依次是:1,8
從小到大依次是:3,8
從小到大依次是:7,8
從小到大依次是:6,8
從小到大依次是:5,8
從小到大依次是:2,8
從小到大依次是:4,8
從小到大依次是:8,9
從小到大依次是:9,10
從小到大依次是:10,11
從小到大依次是:11,24
次數-------:3
從小到大依次是:1,3
從小到大依次是:3,7
從小到大依次是:6,7
從小到大依次是:5,7
從小到大依次是:2,7
從小到大依次是:4,7
從小到大依次是:7,8
從小到大依次是:8,9
從小到大依次是:9,10
從小到大依次是:10,11
次數-------:4
從小到大依次是:1,3
從小到大依次是:3,6
從小到大依次是:5,6
從小到大依次是:2,6
從小到大依次是:4,6
從小到大依次是:6,7
從小到大依次是:7,8
從小到大依次是:8,9
從小到大依次是:9,10
次數-------:5
從小到大依次是:1,3
從小到大依次是:3,5
從小到大依次是:2,5
從小到大依次是:4,5
從小到大依次是:5,6
從小到大依次是:6,7
從小到大依次是:7,8
從小到大依次是:8,9
次數-------:6
從小到大依次是:1,3
從小到大依次是:2,3
從小到大依次是:3,4
從小到大依次是:4,5
從小到大依次是:5,6
從小到大依次是:6,7
從小到大依次是:7,8
次數-------:7
從小到大依次是:1,2
從小到大依次是:2,3
從小到大依次是:3,4
從小到大依次是:4,5
從小到大依次是:5,6
從小到大依次是:6,7
次數-------:8
從小到大依次是:1,2
從小到大依次是:2,3
從小到大依次是:3,4
從小到大依次是:4,5
從小到大依次是:5,6
次數-------:9
從小到大依次是:1,2
從小到大依次是:2,3
從小到大依次是:3,4
從小到大依次是:4,5
次數-------:10
從小到大依次是:1,2
從小到大依次是:2,3
從小到大依次是:3,4
次數-------:11
從小到大依次是:1,2
從小到大依次是:2,3
次數-------:12
從小到大依次是:1,2
1
2
3
4
5
6
7
8
9
10
11
24
35blog