(研)for循环的一个bug以及3个while循环的快排

在这个for循环中,只要有一次不满足,这个for循环将break掉
while(p->score>=90&&i<5)
count++
//若有一次不满足的话,那么整个循环将break;
—————————————————————————
改

——————————————————————

************************************************

#include<string.h>
#include<stdio.h>
void quickSort(int a[],int low,int high)
{
int i=low,j=high,temp=a[i]; //temp是个哨兵,每次和她进行比较
if(i>j) return ; // 终极bug,递归结束的钟终点,不然没结果啊
while(i<j)
{
while(i<j&&a[j]>=temp) j--; //是等号,相等的不用比较,加快速度
if(i<j) a[i++]=a[j]; //注意;不是i++,j--或i j--
while(i<j&&a[i]<=temp) i++;
if(i<j) a[j--]=a[i]; //i这个位置要被替代的
}
a[i]=temp;
quickSort(a,low,i-1); //low不是0 high不是9
quickSort(a,j+1,high);
}
/*
void quicksort(int a[],int left,int right)
{ int i=left;int j=right;int temp;
if(i>j) return;//必须写而且是i大于j,不然函数没有输出结果
temp=a[i];//6行代码实现那句话,大话是有等,没等号测试也正确
while(i<j)//一共有5个i<j
{ //经典4行代码,
while(a[j]>=temp&&j>i) j--;
if(j>i) a[i++]=a[j];
while(a[i]<=temp&&j>i) i++;
if(j>i) a[j--]=a[i];
}
a[i]=temp;
quicksort(a,left,i-1);
quicksort(a,i+1,right);
} */
void main()
{ int k;//黑盒测试,测了很多遍正确
int a[]={-90,-90,899999990,80,1,1,1,-99,9909999,-99}; //>= <=即使没有等号也可以成立
quickSort(a,0,9);
for(k=0;k<=9;k++)
printf("%d\n",a[k]);
}
(研)for循环的一个bug以及3个while循环的快排的更多相关文章
- 循环输出 一个li里边两个图片循环
<ul> <li><img src="123454"/><img src="123454"/></li&g ...
- [双重 for 循环]打印一个倒三角形
[双重 for 循环]打印一个倒三角形 核心算法 里层循环:j = i; j <= 10; j++ 当i=1时,j=1 , j<=10,j++,打印10个星星 当i=2时,j=2 , j& ...
- WIN32_FIND_DATA 循环获取文件大小BUG
今天在调试程序时发现一个 WIN32_FIND_DATA 的BUG,在循环读取一个目录下的图片文件时,发现结构体中 nFileSizeLow 和 nFileSizeHigh 值 == 0的情况.即能获 ...
- NDK中使用pthread多线程中自己写的一个BUG
在使用pthread进行NDK中的多线程开发时,自己写了一个BUG, void *darkGrayThread(void *args) { ThreadParam *param = (ThreadPa ...
- 我大抵是卷上瘾了,横竖睡不着!竟让一个Bug,搞我两次!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言:一个Bug 没想到一个Bug,竟然搞我两次! 我大抵是卷上瘾了,横竖都睡不着,坐起来 ...
- 抓到 Netty 一个 Bug,顺带来透彻地聊一下 Netty 是如何高效接收网络连接的
本系列Netty源码解析文章基于 4.1.56.Final版本 对于一个高性能网络通讯框架来说,最最重要也是最核心的工作就是如何高效的接收客户端连接,这就好比我们开了一个饭店,那么迎接客人就是饭店最重 ...
- Tomcat一个BUG造成CLOSE_WAIT
之前应该提过,我们线上架构整体重新架设了,应用层面使用的是Spring Boot,前段日子因为一些第三方的原因,略有些匆忙的提前开始线上的内测了.然后运维发现了个问题,服务器的HTTPS端口有大量的C ...
- MySQL关于exists的一个bug
今天碰到一个很奇怪的问题,关于exists的, 第一个语句如下: SELECT ) FROM APPLY t WHERE EXISTS ( SELECT r.APPLY_ID FROM RECORD ...
- 由一个bug引发的SQLite缓存一致性探索
问题 我们在生产环境中使用SQLite时中发现建表报“table xxx already exists”错误,但DB文件中并没有该表.后面才发现这个是SQLite在实现过程中的一个bug,而这个bug ...
随机推荐
- AC自动机练习
多模板串匹配一般有两种方法 暴力kmp, 适用于模板串少的情形 直接trie上暴力, 适用于模板串比较短的情形, 并且可以动态插入合并 建立AC自动机, 复杂度是严格线性的, 但不能动态插入 cons ...
- Jzzhu and Apples CodeForces - 449C (构造,数学)
大意: 求从[1,n]范围选择尽量多的数对, 使得每对数的gcd>1 考虑所有除2以外且不超过n/2的素数p, 若p倍数可以选择的有偶数个, 直接全部划分即可 有奇数个的话, 余下一个2*p不划 ...
- 在EO中对数据的重复性进行验证
只有在数据提交到EO中的时候才会执行set方法进行验证. 如果想要实现实时验证,可以在输入参数的地方添加事件,但是无需为此事件创建方法. 我的理解: 1.我们在页面上对内容进行修改的时候,OAF框架仅 ...
- php中点击网页不跳转执行程序
if($code['result_code'] !='FAIL') { echo "<script type='text/javascript'> alert('退款成功,请耐心 ...
- Vue---vue-cli 中的proxyTable解决开发环境中的跨域问题
使用vue+vue-cli+axios+element-ui开发后台管理系统时,遇到一个问题,后台给了一个接口,我这边用axios请求数据,控制台总是报405错误和跨域错误 错误 405? 没见过!! ...
- C#几种截取字符串的方法(split 、Substring、Replace、remove)
C#截图字符串常用的方法有 split .Substring.Replace.remove等. split的使用: 1. Split( Char ()) 返回的字符串数组包含此实例中的子字符串(由指定 ...
- HTML(一)基础
一.HTML简介 文本标记语言,即HTML(Hypertext Markup Language),是用于描述网页文档的一种标记语言. HTML之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接 ...
- 玩转X-CTR100 l USB功能-HOST鼠标键盘
更多塔克创新资讯欢迎登陆[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] X-CTR100控制器具有MicroUSB接口,支持SLAVE和HOST两 ...
- http请求报头
客户请求的处理:Http请求报头 创建高效servlet的关键之一,就是要了解如何操纵超文本传输协议(HypeText TransferProtocol, HTTP). HTTP请求报头不同于前一章的 ...
- String,StringBuilder和StringBuffer的特点和使用场景
这三个类是平时开发中经常遇到的,主要差别是运行速度和线程安全,使用起来String最方便了,另外两个稍微复杂一些. 从运行速度角度看,StringBuilder>StringBuffer> ...