八大算法~冒泡排序【加變量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 作用是為了優化算法,提升效率,,從第一個位置開始沒有發生交換,說明后座都已經被對應實力的大數占完,不必再為大數找后座了
