(研)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 ...
随机推荐
- 测序中Q20 Q30 Q40
你能给别人讲清楚这个概念吗? 二代测序中,每测一个碱基会给出一个相应的质量值,这个质量值是衡量测序准确度的.碱基的质量值13,错误率为5%,20的错误率为1%,30的错误率为0.1%.行业中Q20与Q ...
- Educational Codeforces Round 47 (Rated for Div. 2)G. Allowed Letters 网络流
题意:给你一个字符串,和每个位置可能的字符(没有就可以放任意字符)要求一个排列使得每个位置的字符在可能的字符中,求字典序最小的那个 题解:很容易判断有没有解,建6个点表示从a-f,和源点连边,容量为原 ...
- SSH 远程端口转发
既然"本地端口转发"是指绑定本地端口的转发,那么"远程端口转发"(remote forwarding)当然是指绑定远程端口的转发. 还是接着看上面那个例子,ho ...
- Idea安装及其简介
Idea现有设置 Idea重新安装步骤 卸载开始 D:\devsoft\jet\env\maven\global\wonders\settings.xml ...
- simulate mdns message
use dns-sd command simulate mdns message: dns-sd -R test _test._tcp local 1234 a=1111111111111111111 ...
- JS将日期转化为unix时间戳
var str = '2008-10-09 21:35:28';//PHP中对应的UNIX时间戳为1223559328 var new_str = str.replace(/:/g,'-'); new ...
- 【DevExpress v17.2新功能预告】改进DevExtreme编辑器
DevExpress即将发布v17.2版本,在DevExtreme v17.2中,DevExtreme编辑器进行了一些改进. 除了dxScheduler,dxDataGrid,dxTreeList和d ...
- Linux->卸载Mysql方法总结
如何在Linux下卸载MySQL数据库呢? 下面总结.整理了一下Linux平台下卸载MySQL的方法. MySQL的安装主要有三种方式:二进制包安装(Using Generic Binaries).R ...
- L238
Betty was offended because she felt that her friends had ignored her purposefully(deliberately) at t ...
- twisted服务器端客户端通信(转载填坑)
服务器端代码 # -*- coding:UTF-8 -*- from time import ctime from twisted.internet import reactor from twist ...