找回密码
 立即注册

QQ登录

只需一步,快速开始

eelanee 活字格认证

中级会员

57

主题

160

帖子

569

积分

中级会员

积分
569

活字格认证

eelanee 活字格认证
中级会员   /  发表于:2024-8-13 19:12  /   查看:1472  /  回复:10
20金币
如何用当前的循环命令实现while循环,不用递归方式

10 个回复

倒序浏览
风之剑
初级会员   /  发表于:2024-8-13 19:20:16
沙发
循环命令里面加 IF语句来判断行不通么??? 或者利用索引值来判断单纯的循环次数?
回复 使用道具 举报
Levi.Zhang
超级版主   /  发表于:2024-8-14 09:03:56
板凳
本帖最后由 Levi.Zhang 于 2024-8-14 09:11 编辑

感谢 风之剑大佬提供的思路, while循环结构为:
while循环结构:
while (循环条件) {
    // 循环体代码
    // 条件更新
}
那么可以在循环命令里添加条件判断命令和终止循环命令达到while循环的效果:

希望能够帮助到您~





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
eelanee活字格认证
中级会员   /  发表于:2024-8-14 09:08:41
地板
本帖最后由 eelanee 于 2024-8-14 09:12 编辑

这个都知道,关键是能把循环次数做成变量吗,比如在有父子结构的表里面查找符合条件的某层,我现在只能用递归,不能用当前的循环,如果有while循环就比较好,
或者说当前的循环命令的次数怎么根据变量来更改,是固定死的吗,如果不符合条件,循环再来一次,只到符合条件为止,不可能我直接设置个99999次循环吧,符合条件后终止,这个不太科学,如果超出次数怎么办,各位大佬没有遇到过这个情况吗
回复 使用道具 举报
Levi.Zhang
超级版主   /  发表于:2024-8-14 09:38:16
6#
大佬,其实while循环跟for循环在本质上是等效的,还是依赖于循环体中的条件判断,建议您这边可以把循环次数设置的大些,并设置合适的终止条件,当满足条件判断时终止循环。
大佬还是要根据需求考虑循环次数的哈~

回复 使用道具 举报
逛逛逛
金牌服务用户   /  发表于:2024-8-14 09:53:39
7#
本帖最后由 逛逛逛 于 2024-8-14 09:57 编辑
eelanee 发表于 2024-8-14 09:08
这个都知道,关键是能把循环次数做成变量吗,比如在有父子结构的表里面查找符合条件的某层,我现在只能用递归, ...

一、复杂的查询还是建议在数据库用存储过程去实现

二、建议在数据表设计时,对父子结构的表都加上层级和全路径两个字段,后期查询和修改的效率会提高很多(如:只要用以指定节点的全路径开头的条件去查询,就可以所有的子节点查询出来,结合层级会更加灵活)
回复 使用道具 举报
eelanee活字格认证
中级会员   /  发表于:2024-8-14 13:18:42
8#
我用了递归查询来实现的
回复 使用道具 举报
Levi.Zhang
超级版主   /  发表于:2024-8-14 13:44:53
9#
回复 使用道具 举报
赛龙周
银牌会员   /  发表于:2024-8-16 06:34:45
10#
原本想传入一个无穷大的数;

但测试发现,格子的循环次数最大不能超过INT(2^31-1)
回复 使用道具 举报
Levi.Zhang
超级版主   /  发表于:2024-8-16 09:17:35
11#
赛龙周 发表于 2024-8-16 06:34
原本想传入一个无穷大的数;

但测试发现,格子的循环次数最大不能超过INT(2^31-1)

感谢大佬帮助我们测试,让我们了解到循环次数的最大上限。
其实通常不需要如此大的循环次数,避免了性能上的影响~

感谢大佬的关注与支持~~~
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部