易码技术论坛

 找回密码
 加入易码
搜索
查看: 300252|回复: 9

[原创]basic冒泡法

[复制链接]
发表于 2005-5-28 15:41:00 | 显示全部楼层
汗......这个太古老了......
菜鸟看挺不错的......
 楼主| 发表于 2005-5-28 16:11:00 | 显示全部楼层
表没有做好,看不清楚
发表于 2005-5-29 19:28:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2005-5-30 15:16:00 | 显示全部楼层
晕,这么多年了,又有人"原创"冒泡发了!
发表于 2005-5-31 00:32:00 | 显示全部楼层
恩……居然敢用原创……受不了了……
发表于 2005-5-31 11:36:00 | 显示全部楼层
不要这么说人家嘛~人家也不容易~我们应该鼓励新手~而不是打击~
发表于 2005-5-31 12:20:00 | 显示全部楼层
看来GVBASIC用来研究算法在好不过了

发表于 2005-6-3 19:30:00 | 显示全部楼层
用basic能研究什么算法  根本就没有指针!
发表于 2005-6-16 08:26:00 | 显示全部楼层
呵呵,我看也是!
 楼主| 发表于 2005-5-28 15:29:12 | 显示全部楼层 |阅读模式
以前都在潜水

用"冒泡法"可以求n个数按大小排列

10 INPUT "SAM NUMBER:";S
20 DIM A(S)
30 FOR I=1 TO S
40 INPUT "NUMBER:";N
50 A(I)=N
60 NEXT
70 FOR I=1 TO S
80 FOR J=1 TO S             混乱羽翼:这里使用FOR J=I+1 TO S可以提高效率
90 IF A(I)<A(J) THEN SWEP A(I),A(J)     这里应该是>才能从小到大,SWEP应该是SWAP
100 NEXT J
110 NEXT I
120 FOR I=1 TO S
130 PRINT A(I)
140 NEXT

假设输入a(1)=5,a(2)=6,a(3)=7,a(4)=1

i=1
j=1

i=1
j=2

i=1
j=3

i=1
j=4
i=2
j=1

i=2
j=2

i=2
j=3

i=2
j=4

i=3
j=1

i=3
j=2

i=3
j=3

i=3
j=4

i=4
j=1

i=4
j=2

i=4
j=3
i=4
j=3




A(1) 5 6 6 7 5 5 5 5 5 5 5 5 1 1 1 1
A(2) 6 5 5 5 7 7 7 7 7 7 7 7 7 5 5 5
A(3) 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6  
A(4) 1 1 1 1 1 1 1 1 1 1 1 1 5 7 7 7                                          


这样就实现了5,6,7,1按从小到大排列

如果90行的语句把"<"改成">"就可以从大到小排列

混乱羽翼:我帮你把表格修改整齐了,另外鼓励一下哦~继续努力


您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-29 03:03 , Processed in 0.018717 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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