冒泡排序 --跳出循环的break的flag值放错位置
来源:互联网 发布:北斗手机导航软件 编辑:程序博客网 时间:2024/06/18 09:01
用到的一个检验 就是说 如果已经排序好了 就不用走那么多趟了,在while循环里有个if
如果满足条件就把flag设为真,则不跳出,如果没有执行就跳出这个循环,现在只不过是这个if外面多了一个for循环
实质是一样的。
#include<iostream>
using namespace std;
int main(){
int i=1;
bool flag;
while(i<8){
flag = false;
i++;
//之前做都是直接在while里有个if如果满足某个条件就改变flag值现在只不过是多了for而已
for (int j=0;j<8-i+1;j++){
if( ){
//做一些事情
flag=true;
}
}//内部for
//检验是否还有交换然后跳出while循环
if(!flag) break;
}
return 0;
}
#include<iostream>using namespace std;void insert_sort(int a[], int n);int main(){ int a[]= { 3,7,2,9,6,5,8,1,4}; insert_sort(a,9);system("pause"); return 0;}void insert_sort(int a[], int n){ int i=1, j, temp; bool flag; while(i<n) { i++; //@3@ 每一趟都会把flag为false 如果交换了 就设为true,跑完一趟末尾检验是否跳出 //while 循环 ,当排序好了之后呢由于没有交换则flag为假就跳出了。 flag = false; /* @1@ //j的范围本来应该是从数组下标为零到n-i-1所以j<(n-i) //但这次用的是while循环i已经长了个1 所以改成 j<(n-i+1) */ for(j=0; j<(n-i+1); j++) { /* @2@ //最后报错是因为不恰当的跳出循环 //本来是想每一趟循环只有没有交换的时候才跳出 //但是把flag = false; 写入下面之后每个数比较都要重新设置flag 那么如果最后几个比较的数没有移动就会引起跳出了,所以如果 后面的顺序排好了,就会减少几趟排序,那么前面可能没有排好的也跳出来了 */ //flag = false; if(a[j]>a[j+1]) { //如果交换了数据令flag为真 flag = true; temp = a[j]; a[j]=a[j+1]; a[j+1]=temp; } } /* @4@ 这一段主要是打印每一趟的排序结果来查看到底是哪次排序出错了 cout<<i-1<<"趟:"; for (int k = 0; k < n; ++k){ cout<<a[k]<<" "; } cout<<endl<<"----"<<endl; */ if(!flag) break; } for (i = 0; i < n; ++i) { cout<<a[i]<<" "; }}//insert
- 冒泡排序 --跳出循环的break的flag值放错位置
- break只能跳出第一层循环的
- break、continue跳出循环的深入学习
- Java中break跳出循环的层数
- 给循环一个标识符,break 的时候,直接跳出循环。
- 垃圾是放错位置的人才
- 带flag标准位的冒泡排序
- 关于js的break不能跳出多重循环的解决方法。
- break:跳出离它最近的那层循环
- java中不用break跳出for循环的方式
- java带标号的break跳出多重循环
- 关于C语言break跳出双重循环的小技巧
- js跳出循环的方法区别(break,continue,return)
- java中关于使用break跳出多层循环的问题
- 000046:用带有标签的break跳出外层循环
- java中break跳出当前循环的实例
- js跳出循环的方法区别(break,continue,return)
- JS跳出循环的三种方法(break, return, continue)
- linux设备驱动的中断与并发请求事件
- 若n能被3整除,证明2^n除以7的余数为1
- 编程中无穷大常量的设定技巧
- SimpleDateFormat格式化日期
- jstl fn函数
- 冒泡排序 --跳出循环的break的flag值放错位置
- CCS3.3编译链接库文件与头文件
- c++中static的全部用法
- 图像细化算法 opencv实现 完整代码(附实验结果)
- 双单击
- java List 排序 Collections.sort() 对 List 排序
- VS2010 安装配置 vtk
- iOS核心系统编程最佳实践:绘图
- BitmapFactory decodeResource and decodeStream 's problem