八大排序算法~冒泡排序【加变量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 作用是为了优化算法,提升效率,,从第一个位置开始没有发生交换,说明后座都已经被对应实力的大数占完,不必再为大数找后座了
本文来自博客园,作者:一乐乐,转载请注明原文链接:https://www.cnblogs.com/shan333/p/15054954.html