我是靠谱客的博主 土豪电话,最近开发中收集的这篇文章主要介绍while(条件) 语句;语句 容易理解错的一点,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

问题:

代码:

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(条件) 语句;语句 容易理解错的一点的全部内容,希望文章能够帮你解决while(条件) 语句;语句 容易理解错的一点所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部