冒泡排序

来源:互联网 发布:winscp是什么软件 编辑:程序博客网 时间:2024/05/18 06:48

冒泡排序就是把小的元素往前调或者把大的元素往后调,顾名思义就是整个过程就像气泡一样往上升,单向冒泡排序的思想是(假设由小到大排序):

  • 对于给定n个记录,从第一个记录开始依次对相邻的两个记录进行对比,当前面的记录大于后面的记录时,交换位置。
  • 进行完一轮比较和换位后,n个记录中最大的记录将位于第n位,然后对前面的n - 1 个记录进行第二轮比较
  • 重复该过程直到进行比较的记录剩下一个为止。

代码:

public class BubbleSorted {    public static void sorted(int[] num){        int temp;        for (int i = 0; i < num.length - 1; i++) {            /* 把小的移到前面            for (int j = num.length - 1; j > i; j--) {                if(num[j] < num[j - 1]){                    temp = num[j];                    num[j] = num[j - 1];                    num[j - 1] = temp;                }            }            */            //把大的移到后面            for (int j = 0; j < num.length - i - 1; j++) {                if(num[j] > num[j + 1]){                    temp = num[j];                    num[j] = num[j + 1];                    num[j + 1] = temp;                }            }        }    }    public static void main(String[] args) {        int[] arr = {2,4,1,3,6,5,7};        sorted(arr);        for (int i = 0; i < arr.length; i++) {            System.out.print(arr[i] + " ");        }    }}
0 0
原创粉丝点击