VisualStudioC#【学习笔记024】算法——查找(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014576936/article/details/80982030

算法——查找(二)

上一节我们学习查找,是把符合条件的数据打印出来。有的时候我们不想打印,只想知道有没有符合条件的数据,该怎么做呢?下面的例子查找一组人名,如果人名中包含“诺贝尔”,就打印“有诺贝尔”,如果没有,就打印“木有木有”:

通过源代码可以看到,数组的第二个元素就是要查找的“诺贝尔”,运行结果是这样的:

这段代码有一个逻辑错误,事实上,数组中只要有一个“诺贝尔”就可以认定“有诺贝尔”,但必须所有的名字都不是“诺贝尔”,才能认定“木有木有”。

或者这么说:一组数据中只要有一个符合条件,就可以认为“符合条件的数据”;但只有一组数据中每一个都不符合条件,才能认为“没有符合条件的数据”——一个相等即为"有",全都不等才是"无"

那么,到底应当怎样判断有无呢?请看下面的代码:

变量 hasNbr 起到了关键作用:记录筛选结果。它的初始值为 false ,表示没有,如果循环中找到了相等的数据,再修改 hasNbr 的值为 true ,表示。循环结束后,只要看看变量 hasNbr 是 true 还是 false ,就知道循环中是否修改过。运行结果如下(有诺贝尔):

删去数组中的“诺贝尔”,再次运行程序:

猜你喜欢

转载自blog.csdn.net/u014576936/article/details/80982030