Java連載70-冒泡算法、選擇算法

1、冒泡排序java

1.也就是依次選出最大的放在最後面node

package com.bjpowernode.java_learning;

​

public class D70_1_BubbleSort {

  public static void main(String[] args) {

    /*

     * 冒泡排序算法:有一個int類型的數組:3 1 6 2 5

     */

    int[] a = {3,1,6,2,5,45,8,9,86};

    //開始排序

    for (int i=a.length-1;i>0;i--) {

      for (int j=0;j<i;j++) {

        if(a[j]>a[j+1]) {

          int temp = a[j];

          a[j] = a[j+1];

          a[j+1] = temp;

        }

      }

      //也能夠這麼寫

      //for(int j=0;j<i;J++){

      //  if(a[j]>a[i]){

      //    int temp = a[j];

      //    a[j] = a[i];

      //    a[i] = temp;

      //}

    }

    for(int i=0;i<a.length;i++) {

      System.out.println(a[i]);

    }

   

  }

}

2、選擇排序git

1.也就是依次選出最小的放在前面github

 

package com.bjpowernode.java_learning;

​

public class D70_2_SelectionSort {

  public static void main(String[] args) {

    int [] a = {45,4,8,2,69,31,2,0};

    int min = 0;

    for(int i=0;i<a.length-1;i++) {

      for(int j=i+1;j<a.length;j++) {

        if(a[i]>a[j]) {

          int temp = a[i];

          a[i] = a[j];

          a[j] = temp;

        }

      }

    }

    for(int i=0;i<a.length;i++) {

      System.out.println(a[i]);

    }

  }

}

 

​總結:在一個循環中,flag若是有上界,那麼慎用flag+1這種操做,​容易形成數組越界;flag若是有下界,那麼慎用flag-1這種操做,容易形成越界,​解決方式就是循環的初始數字要選好。算法

 

4、源碼:數組

D70_2_SelectionSort.java
D70_1_BubbleSort.java微信

https://github.com/ruigege66/Java/blob/master/D70_1_BubbleSort.java學習

https://github.com/ruigege66/Java/blob/master/D70_2_SelectionSort.java大數據

2.CSDN:https://blog.csdn.net/weixin_44630050ui

3.博客園:https://www.cnblogs.com/ruigege0000/

4.歡迎關注微信公衆號:傅里葉變換,我的公衆號,僅用於學習交流,後臺回覆」禮包「,獲取大數據學習資料

 

相關文章
相關標籤/搜索