TC官方合作论坛

 找回密码
 立即注册
查看: 425|回复: 6
打印 上一主题 下一主题

[已解决] 冒泡算法其中一个代码算不出来

[复制链接]
跳转到指定楼层
楼主
发表于 2017-2-13 23:35:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
功能 按钮3_点击()
    变量 句柄1= 数组()
    变量 结果
    句柄1[0] = 99
    句柄1[1] = 33
    句柄1[2] = 88
    句柄1[3] = 111
    遍历(变量 i = 0; i < 3; i++)
        遍历(变量 j = i+1; i < 4; i++)
            如果(句柄1[i]>句柄1[j])
                结果 = 句柄1[i]
                句柄1[i] = 句柄1[j]
                句柄1[j] = 结果
            结束
        结束
    结束
    遍历(变量 i = 0; i <4; i++)
        消息框("句柄1["& i &"]:"&句柄1[i])
    结束
难后分别弹出消息框为:句柄0 33, 句柄1 111,句柄2 88 , 句柄3 99 这是为什么

本帖子中包含更多资源

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

x
回复

使用道具 举报

地板
发表于 2017-2-14 21:22:14 | 只看该作者
本帖最后由 言术 于 2017-2-14 21:26 编辑
qq690565741 发表于 2017-2-14 20:34
我知道我的代码错我是问为什么得出结果是 1.33  111  88  99

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

沙发
发表于 2017-2-14 08:04:37 | 只看该作者
遍历(变量 i = 0; i < 3; i++)
    遍历(变量 j = i+1; j < 4; j++)
        如果(句柄1[i]>句柄1[j])
            结果 = 句柄1[i]
            句柄1[i] = 句柄1[j]
            句柄1[j] = 结果
        结束
    结束
结束


遍历(变量 i = 0; i < 3; i++)
    遍历(变量 j = i; j < 3; j++)
        如果(句柄1[j]>句柄1[j+1])
            结果 = 句柄1[j]
            句柄1[j] = 句柄1[j+1]
            句柄1[j+1] = 结果
        结束
    结束
结束
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2017-2-14 20:34:57 | 只看该作者
言术 发表于 2017-2-14 08:04
遍历(变量 i = 0; i < 3; i++)
    遍历(变量 j = i+1; j < 4; j++)
        如果(句柄1>句柄1[j])

我知道我的代码错我是问为什么得出结果是 1.33  111  88  99
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2017-2-15 20:16:00 | 只看该作者
什么意思不懂
回复 支持 反对

使用道具 举报

6#
发表于 2017-2-21 13:40:03 | 只看该作者
1楼解释的很明白了  我给你翻译下  
你的代码:
   遍历(变量 i = 0; i < 3; i++)
        遍历(变量 j = i+1; i < 4; i++)
            如果(句柄1[i]>句柄1[j])
                结果 = 句柄1[i]
                句柄1[i] = 句柄1[j]
                句柄1[j] = 结果
            结束
        结束
    结束
这句:遍历(变量 j = i+1; i < 4; i++) 应该改为: 遍历(变量 j = i+1; j< 4; j++)   //===============这是其中的一个改法======================//
          遍历(变量 j = i; j < 3; j++)  //===============这是另外一个改法======================//
改过之后,你再调试一下

错的原因:遍历(变量 j = i+1; i < 4; i++)    这句相当于
j = i+1
if (i<4)
执行遍历代码
i++
end

回复 支持 反对

使用道具 举报

7#
发表于 2017-2-21 16:34:30 | 只看该作者
第一次:
i = 0,j= 1  句柄1[0] = 33,句柄1[1] = 99 句柄1[2] = 88,句柄1[3] = 111       //句柄1[0]和句柄1[1]比较
第二次:
i = 1 ,j= 2 句柄1[0] = 33,句柄1[1] = 88 句柄1[2] = 99,句柄1[3] = 111        //句柄1[1]和句柄1[2]比较
第三次:
i = 2,j= 3 句柄1[0] = 33,句柄1[1] = 88 句柄1[2] = 99,句柄1[3] = 111        //句柄1[2]和句柄1[3]比较
第四次:
i =3,j= 4 句柄1[0] = 33,句柄1[1] = 88 句柄1[2] = 99,句柄1[3] = 111        //句柄1[3]和句柄1[4]比较

严格的说  你这只是确定最大数  不是冒泡法
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-19 22:52 , Processed in 0.118516 second(s), 26 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表