天天看點

資料結構與算法:十大排序算法之冒泡排序

資料結構與算法:十大排序算法之冒泡排序

資料結構與算法:十大排序算法之冒泡排序
資料結構與算法:十大排序算法之冒泡排序
package array;

import java.util.Arrays;

//冒泡排序
//1.比較數組中兩個相鄰的元素,如果第一個數比第二個數大,我們就交換他們的位置
//2.每一次比較都會産生出一個最大或最下的數字
//3.下一輪則可少一次排序
public class ArrayDemo07 {
    public static void main(String[] args) {
        int[] a={1,4,5,2,3,9,7,1,0,22};

        int[] sort=sort(a);  //調用完我們自己寫的排序方法以後傳回我們排序後的算法
        System.out.println(Arrays.toString(sort)); //列印

    }


        public static int[] sort(int[] array) {
        //臨時變量
        int temp = 0;
        //外層循環,判斷我們這個需要走多少次
        for (int i = 0; i < array.length - 1; i++) {
            //内層循環,比較兩個數,如果第一個數比第二個數大則交換位置
            boolean flag=false; //通過flag辨別位減少沒有意義的比較
            for (int j = 0; j < array.length - 1 - i; j++) {
                //每次周遊都會得出一個最大值,是以将i減掉
                //每排序一輪就少一輪,減去i
                if (array[j + 1] > array[j]) {
                    //從大到小排序
                    //若想從小到大排序,将大于号改為小于号即可
                    temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                    flag=true;
                }

            }
            if(flag==false)
            {
                break;
            }
        }
       return array;

    }
}      
package TopTenSortingAlgorithms;

import java.util.Arrays;
import java.util.Scanner;

//冒泡排序
public class BubbleSort  {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] nums = new int[6];
        for (int i = 0; i < nums.length; i++) {
            nums[i]=scanner.nextInt();
        }
        int[] sort = bubblesort(nums);
        System.out.println(Arrays.toString(sort));
    }




    public static int[] bubblesort(int[] nums){
        int tmp=0;
        for (int i = 0; i < nums.length-1; i++) {
            for (int j = 0; j < nums.length  - 1-i; j++) {
                if (nums[j+1]<nums[j]){
                    tmp=nums[j];
                    nums[j]=nums[j+1];
                    nums[j+1]=tmp;
                }
            }
        }
        return nums;
    }
}      
==注意點:==[Arrays.toString的作用](
undefined