排序执行的动做有比较、交换、移动,冒泡排序在排序里面最简单啦,冒泡排序每次选出最大的数,放在最右边,使用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