今天写代码犯了一个很简单的错误,但是刚开始困惑了好一会儿,还是基础不扎实的原因。

问题:

代码:

int partition(int a[], int low, int high)
{int privotKey = a[low];                             //基准元素  while (low < high) {                                   //从表的两端交替地向中间扫描  while (low < high  && a[high] >= privotKey) --high;  //从high 所指位置向前搜索,至多到low+1 位置。将比基准元素小的交换到低端  swap(&a[low], &a[high]);while (low < high  && a[low] <= privotKey) ++low;swap(&a[low], &a[high]);}print(a, 5);return low;
}

这是几个while循环,上面的这种写法让人很容易想错(我自己容易想错)

在记忆中 while循环一般是这样用的

while(条件)

{

语句

}

也就是条件是用"()"小括号括起来的,循环执行的语句是用"{}"大括号括起来的,这是记忆中的样子,思维的束缚让我不能了灵活理解下面这几句:

while (low < high  && a[high] >= privotKey) --high;  //从high 所指位置向前搜索,至多到low+1 位置。将比基准元素小的交换到低端
swap(&a[low], &a[high]);
while (low < high  && a[low] <= privotKey) ++low;
swap(&a[low], &a[high]);

我错误的认为

swap(&a[low], &a[high]);

这句代码是第一个while循环的循环语句,后来通过代码调试,我才发现了自己的错误,这句其实跟while没什么关系,只不过是先后顺序而已,--high 这句代码才是while的循环语句,分号代表这个语句的结束。

while(条件) 语句;语句 容易理解错的一点相关推荐

  1. php if判断两个条件_PHP中if相关条件语句该如何理解使用?

    php中文网最新课程 每日17点准时技术干货分享 我们在开发PHP页面时,有时候会需要根据不同条件从数据库或者页面中读取信息,然后再执行相应的语句.涉及到这方面的需求时,我们就要了解掌握PHP中一些条 ...

  2. continue语句只用于循环语句中_Java之循环语句、条件判断语句(三目运算符)、break、continue...

    之前的内容只是让读者可以定义变量,输出变量等基础功能而已.这远远是不够的,今天,我们学习的内容可以帮你开始完善自己想开发的内容,在这之前我们先理解一个概念:一个表达式的返回值是布尔值的表达式称为布尔 ...

  3. 我的python之路七条件判断语句if的基本语法与应用

    Python条件语句IF的语法格式 Python条件语句IF简介 单条件判断,及格式 单独if--使用 if--else配套使用 多条件判断语句的使用 嵌套语句的使用 if--elif--语句的使用 ...

  4. Python中if条件判断语句怎么用?

    俗话说"不积跬步无以至千里".学习了Python的基本语法后,接下来我们学习Python常的if条件判断语句. if语句是最简单的条件判断语句,它可以控制程序的执行流程,其使用格式 ...

  5. Python中if条件判断语句的用法!

    俗话说"不积跬步无以至千里".学习了Python的基本语法后,接下来我们学习Python常的if条件判断语句. if语句是最简单的条件判断语句,它可以控制程序的执行流程,其使用格式 ...

  6. 【Makefile由浅入深完全学习记录8】条件判断语句

    加qq:1126137994 微信:liu1126137994 一起学习更多技术~ 今天来学习Makefile中条件判断语句! Makefile也算是一门语言,它有自己的语法,那么它应该也会像C/C+ ...

  7. if shell 条件语句简写_Shell if条件判断语句用法详解

    if 条件判断在语言中最为常见,主要用于判断条件是否成立,比如在课堂上,并不是所有的学员都可以进入教室,而是必须符合条件(如必须是本班级学员)才能进入教室.当然,在上课时,是通过人的大脑进行判断的:如 ...

  8. [转载] Python入门(输入/输出、数据类型、条件/循环语句)

    参考链接: Python中的循环技术 在介绍之前我们先来看看计算机的三个根本性基础: 1.计算机是执行输入.运算.输出的机器 2.程序是指令和数据的集合 3.计算机的处理方式有时与人们的思维习惯不同 ...

  9. 51单片机c语言常用语句详解,51单片机之C语言-4.5基本语句之条件选择语句

    1. 条件选择语句之if 语句 前面我们讲了数据类型,运算符及表达式.C语言也是一种语言,既然是语言,一定有连接词.这些连接词可以用来表示假设,循环等等.我们先来看看假设if语句.这些连接词有一定的规 ...

  10. 条件判断语句 if case

    条件判断语句 条件测试操作 文件测试 整数值比较 字符串比较 逻辑测试 双分支 if 语句 多分支 if 语句 case 语句 case 变量值 in 条件测试操作 Shell环境根据命令执行后的返回 ...

最新文章

  1. IROS 2021 | 相机数据转化为2D激光伪标签的自监督学习行人检测
  2. pthread_mutex_lock 和 pthread_mutex_unlock
  3. 瘫痪17年,利用双向脑机接口来诱发触觉,控制机械手
  4. 计算机与USB沟通方式
  5. python在线翻译代码_Python 20行简单实现有道在线翻译的详解
  6. DataRow的RowState属性变化问题
  7. Get Started Part 2
  8. Attempt to write to a read-only database Sqlite
  9. 集合框架(Set容器)
  10. ndarry转置二阶及以上的矩阵
  11. Java Servlet JSP
  12. 面向对象——类设计(七)
  13. 人类700万年(震撼的极简人类史)
  14. Android代码控制关闭软键盘的骚操作
  15. 【10.28 校内普及组】 小B浇花 题解
  16. 银行核心系统的清算与结算
  17. 主板后置音频接口图解_不用再看说明书 机箱主板接线全攻略
  18. 计算机等级考网络课程答案,《计算机应用基础》课程考试试卷
  19. ESP32 报错is installed, but the tool failed to run
  20. 宝塔面板可以建立静态网站吗?如何部署一个静态页面?

热门文章

  1. 计算机网络管理的应用,计算机网络管理技术及应用
  2. php通过mysqldump数据库备份,mysql使用mysqldump进行数据库备份_MySQL
  3. cookie实现上次访问时间
  4. php mysql含引号报错,执行sql双引号
  5. Java学习笔记——正则表达式
  6. oracle同一天,Oracle统计一个小时内,一天内、一个星期内、一个月内、一年内的数据...
  7. 常见笔顺错误的字_孩子的字越写越差,强行矫正效果差,家长应这样培养孩子书写态度...
  8. Angr安装与使用之使用篇(二)
  9. 简单的TCP回射服务
  10. 深入理解JS对象和原型链