八大排序算法~冒泡排序【加變量flag的作用】


八大算法~冒泡排序【加變量flag的作用】

  1,冒泡排序思想:從第一個數開始找,要把大數“排除在外”~為大數找后座。(從小到大排序哈)

  外層循環~需要放后的大數個數;
    內循環~從第一個數拿起與后面位置的數兩兩比較,實力強的占的位置靠后。

2,flag變量作用:優化算法,提升效率,從第一個位置開始沒有發生交換,
說明后座都已經被對應實力的大數占完,不必再為大數找后座了。

void BubbleSort(int a[],int n){
    int temp;
    boolean flag = true;   // 此處flag變量的設置可以提高算法的效率
    //冒泡思想:從第一個數開始找,要把大數“排除在外”~為大數找后座
    for(int i = 0; i < n - 1; i++){ //外層循環~需要放后的大數個數
      flag = true;
      for(int j = 0; j < n - 1 - i; j++){//內循環~從第一個數拿起與后面位置的數兩兩比較,實力強的占的位置靠后
        if(a[j] > a[j + 1]){
          flag = false;
          temp = a[j];
          a[j] = a[j+1];
          a[j+1] = temp;
        }
      }
      if(flag==true) break;
    }
}
//flag 作用是為了優化算法,提升效率,,從第一個位置開始沒有發生交換,說明后座都已經被對應實力的大數占完,不必再為大數找后座了 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM