标题:求从小到大和从大到小排序
只看楼主
a1999zqw
Rank: 1
等 级:新手上路
帖 子:186
专家分:0
注 册:2009-4-3
结帖率:78.95%
 问题点数:0 回复次数:5 
求从小到大和从大到小排序
给出任意字串,求从小到大和从大到小排序?字串是由N个数字加‘/’组合在一起的
如a='15/464/4694/1/1456/02/1648/01/16644/9/865/461/005'会得出
a1='1/1/2/5/9/15/461/464/864/1456/1648/4694/16644'
a2='16644/4694/1648/1456/864/464/461/15/9/5/2/1/1'
a3='01/1/02/005/9/15/461/464/864/1456/1648/4694/16644'
a4='16644/4694/1648/1456/864/464/461/15/9/005/02/1/01'

如何快速得到a1,a2,a3,a4
搜索更多相关主题的帖子: 从小到大 
2009-10-22 14:47
hgfeng1984
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:139
专家分:513
注 册:2006-3-26
得分:0 
我在:
http://bbs.
回答你了.
2009-10-22 16:17
sywzs
Rank: 10Rank: 10Rank: 10
来 自:辽宁
等 级:贵宾
威 望:15
帖 子:508
专家分:1725
注 册:2009-5-13
得分:0 
使用数组并排序

aa="15/464/4694/1/1456/02/1648/01/16644/9/865/461/005"+"/"
n=OCCURS("/",aa)
DIMENSION csz(n,2)
FOR i=1 TO n
csz(i,1)=CHRTRAN(PADL(LEFT(aa,AT("/",aa)-1),8)," ","0")
csz(i,2)=PADL(LEFT(aa,AT("/",aa)-1),8)
aa=SUBSTR(aa,AT("/",aa)+1)
NEXT
ASORT(csz,-1,-1,0)
STORE "" TO a1,a2,a3,a4
FOR i=1 TO n
a1=a1+ALLTRIM(STR(VAL(LTRIM(csz(i,2)))))+IIF(i<n,"/","")
a2=a2+ALLTRIM(STR(VAL(LTRIM(csz(n-i+1,2)))))+IIF(i<n,"/","")
a3=a3+LTRIM(csz(i,2))+IIF(i<n,"/","")
a4=a4+LTRIM(csz(n-i+1,2))+IIF(i<n,"/","")
NEXT
2009-10-23 06:46
a1999zqw
Rank: 1
等 级:新手上路
帖 子:186
专家分:0
注 册:2009-4-3
得分:0 
出错了!

ASORT(csz,-1,-1,0)   下标出界
2009-10-27 11:33
sywzs
Rank: 10Rank: 10Rank: 10
来 自:辽宁
等 级:贵宾
威 望:15
帖 子:508
专家分:1725
注 册:2009-5-13
得分:0 
我用的是VFP9.0
2009-10-27 13:19
yang286
Rank: 3Rank: 3
来 自:新加坡
等 级:论坛游侠
帖 子:85
专家分:117
注 册:2009-11-11
得分:0 
放在grid的header的mouseup

LPARAMETERS nButton, nShift, nXCoord, nYCoord
IF nShift = 2
    SET ORDER TO 名字 DESCENDING
ELSE
    SET ORDER TO 名字 ASCENDING
ENDIF

GO TOP
THISFORM.Refresh
2009-11-11 17:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-289497-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.392311 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved