注册 登录
编程论坛 VB6论坛

[原创]擂台法数组把数组颠倒

tonoy 发布于 2013-08-26 15:59, 456 次点击
例如,有a有10个元素,将a1=a10 a10=a1  a9=a2 a2=a9...


代码在此
程序代码:
dim a(10)                                        '声明
for i = 1 to 10                                 '赋值
a(i)=i
next i
‘--------------------------------------split line
for i=1 to Ubound(a)/2                   '从1开始的数组 偶数
tmp=a(i)
a(i)=a(Ubound(a)+1-i)
a(Ubound(a)+1-i)=tmp
next i

for i=1 to (Ubound(a)-1)/2            '从1开始的数组 奇数
tmp=a(i)
a(i)=a(Ubound(a)+1-i)
a(Ubound(a)+1-i)=tmp
next i

for i=0 to Ubound(a)/2-1               '从0开始的数组 偶数
tmp=a(i)
a(i)=a(Ubound(a)-i-1)
a(Ubound(a)-i-1)=tmp
next i

for i=0 to (Ubound(a)-1)/2-1        '从0开始的数组 奇数   -1为了中间的数不替换
tmp=a(i)z
a(i)=a(Ubound(a)-i-1)
a(Ubound(a)-i-1)=tmp
next i

3 回复
#2
lowxiong2013-08-26 19:57

不过,擂台法好像是比较最大或最小,丢弃不需要的吧,你这只是数据交换,没有比较。
还是欢迎楼主常新的算法或编程心得分享。
#3
tonoy2013-08-27 10:06
版主,颠倒不需要比较吧,又不比大小、
#4
lowxiong2013-08-27 14:12
我是指你的算法名称不对,数组数据颠倒不叫“擂台法”
1