| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2209 人关注过本帖
标题:继续[求助]VB编程的一道题
只看楼主 加入收藏
JackyNone
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-30
收藏
得分:0 
先扫描一次 提取出所有字母所在的下标列表存为L(i)
然后以L(i)为下标范围对原字符串进行冒泡排序即可。


这思路里的---“然后以L(i)为下标范围”是?能否具体说明?
2007-08-30 14:04
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
比如说:
原字符串:1AA2CC33B
去掉非字母字符后的字符串:AACCB
排序后的字符串:AABCC
插入后的字符串:1AA2BC33C(将原字符串的非字母字符重新插回原位置)

VB QQ群:47715789
2007-08-30 14:06
JackyNone
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-30
收藏
得分:0 

将原字符串的非字母字符重新插回原位置?这要怎么实现呢?

2007-08-30 14:09
JackyNone
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-30
收藏
得分:0 

插回之前怎么获取非字母的字符串位置?IF判断么

2007-08-30 14:10
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
从头到尾循环扫描。用Mid(...)

VB QQ群:47715789
2007-08-30 14:11
心中有剑
Rank: 2
等 级:新手上路
威 望:5
帖 子:611
专家分:0
注 册:2007-5-18
收藏
得分:0 

你的区分大小写吗?比较的时候!


2007-08-30 14:11
JackyNone
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-30
收藏
得分:0 
只有小写字母被排序,大写的当做非字母字符处理
2007-08-30 14:12
JackyNone
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-30
收藏
得分:0 

Joforn,可不可以按您的思路把关键部分的代码写给我一点?我只想参考,之后理解

2007-08-30 14:29
心中有剑
Rank: 2
等 级:新手上路
威 望:5
帖 子:611
专家分:0
注 册:2007-5-18
收藏
得分:0 

哦 这样的

新建一个窗体, 放两个文本筐 放一个按钮 加如下代码

Private Sub Command1_Click()
Dim strTemp As String
Dim strCmp As String
Dim strArr() As String
Dim llCount As Long
strTemp = Text1
strCmp = GetStr(Text1)
ReDim strArr(Len(strCmp)) As String
For llCount = 1 To Len(strCmp)
strArr(llCount) = Mid(strCmp, llCount, 1)
Next
'排序
Text2 = ""
Dim tmp As String
Dim i As Integer, j As Integer
For i = 1 To Len(strCmp)
For j = i + 1 To Len(strCmp)
If strArr(i) > strArr(j) Then
'交换两数
tmp = strArr(i): strArr(i) = strArr(j): strArr(j) = tmp
End If
Next j
Next i
i = 0
For llCount = 1 To Len(strTemp)
If Mid(strTemp, llCount, 1) Like "[^a-z]" Then
i = i + 1
Text2 = Text2 & strArr(i)
Else
Text2 = Text2 & Mid(strTemp, llCount, 1)
End If
Next

End Sub

Private Sub Form_Load()
Text1 = "ccbb1aa4ggff1ee"
Text2 = ""
End Sub
Public Function GetStr(str) As String '自定义函数
Dim TStr, re
TStr = str
Set re = CreateObject("vbscript.regexp") '正则表达式对象
re.Pattern = "[^a-z]" '规则非数字字符

re.Global = True '全局可用性。
TStr = re.Replace(TStr, "")

Set re = Nothing '释放对象
GetStr = TStr
End Function


2007-08-30 14:30
JackyNone
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-30
收藏
得分:0 

谢谢,我先去试试,不过好象很多方法和函数我都没见过啊。。。。。

2007-08-30 14:32
快速回复:继续[求助]VB编程的一道题
数据加载中...
 
   



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

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