Foxtable(狐表)用户栏目专家坐堂 → 出个题目 反正我这一下子是没解决.【解决了】


  共有15619人关注过本帖树形打印复制链接

主题:出个题目 反正我这一下子是没解决.【解决了】

帅哥哟,离线,有人找我吗?
mr725
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
出个题目 反正我这一下子是没解决.【解决了】  发帖心情 Post By:2010/8/17 13:20:00 [显示全部帖子]

Dim s As String = "2,6,3,8,4,9,1,7,5"

Dim s1 As String

这段代码怎么写???  (不能放到表里去排序哦)

output.show(s1)   '结果 = " 1,2,3,4,5,6,7,8,9"

[此贴子已经被作者于2010-8-18 12:21:38编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/8/17 15:04:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-8-17 14:56:00的发言:
Dim s1() As String = "2,6,3,8,4,9,1,7,5".Split(",")
Array.Sort (s1)
Output.show(String.Join(",",s1))

图片点击可在新窗口打开查看       这个要收藏啊~

[此贴子已经被作者于2010-8-17 15:06:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/8/17 18:52:00 [显示全部帖子]

老大真的厉害呀!!!!!!    你这几行代码, 我得要用近40行代码才能搞定,  还不知道有没有缺陷...... 

 

建议大家都收藏下来啊~~~~~~~~


 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/8/18 12:15:00 [显示全部帖子]

总结:::::::::::::::;

 

'第一、***字符型
Dim s1() As String = "你觉得,大家好,狐表,怎么样".Split(",")
Array.Sort(s1)
Output.show("结果   :" & String.Join(",",s1))    结果   :大家好,狐表,你觉得,怎么样

 

'第二、***数字排序用 (1) lxl版主的:::::::::够专业

全局变量加上如下代码:
Public Function StrCompare(ByVal x As String, ByVal y As String) As Integer
Dim a As Single = x
Dim b As Single = y         '注意这个Single,也可以解决小数的问题。
Return a.CompareTo(b)
End Function

然后命令窗口执行:
Dim s1() As String = "2,6,3,11,8,4,9,1,7,5,10".Split(",")
Array.Sort(s1, AddressOf StrCompare)
Output.show(String.Join(",", s1))

 
     '***数字排序用 (2)  狐狸爸爸的:::::::::其实这个对初学者更适用
Dim s1() As String = "2,6,4.01,10.11,2.2,20,3,8,20.33,4,9,1,7,5,10,21".Split(",")
Dim s2(s1.Length - 1) As Single          '注意这个Single,也可以解决小数的问题。
For i As Integer = 0 To  s1.Length  - 1
    s2(i) =s1(i)

Next
Array.Sort(s2)
Dim ss As String
For i As Integer = 0 To s2.Length  - 1
ss = ss & s2(i) & ","
Next
Output.Show(ss.trim(","))   '结果: 1,2,2.2,3,4,4.01,5,6,7,8,9,10,10.11,20,20.33,21


 

      '***数字排序 (3) 千万别用我的::::::还不知道有没有什么问题???
Dim s As String = "2,6,3,8,11,4,9,11.2,1,7,5,0.8,10,8.2,2.3,0.1,6.3,10.1"
Dim s0 As String  = ","
Dim s1,s2 As String               

Dim s9 As String  = ","
For i As Integer = 0 To s.split(",").length-1
    s1 = s.split(",")(i)
    s2 = s.split(",")(i)
    For ii As Integer = 0 To s.split(",").length-1
        If s0.contains("," & s.split(",")(ii)) = False
            If val(s1) >= val(s.split(",")(ii))

                s1 = s.split(",")(ii)
            End If    
        End If
        If s9.contains("," & s.split(",")(ii) & ",") = False
            If val(s2) < val(s.split(",")(ii))

                s2 = s.split(",")(ii)
            End If
        End If
    Next
    If s0.contains("," & s1 & ",")  = False
        s0 = s0 & s1 & ","
    End If
    If s9.contains("," & s2 & ",") = False
        s9 = "," & s2 & s9
    End If
Next

Dim ss As String = s9
For h As Integer = 0 To s0.trim(",").split(",").length-1
    For h1 As Integer = 0 To s9.trim(",").split(",").length-1
        If s0.trim(",").split(",")(h) = s9.trim(",").split(",")(h1)

            ss = ss.replace("," & s0.trim(",").split(",")(h) & ",",",")   
        End If
    Next
Next

s1 = s0.trim(",") & "," & ss.trim(",")
output.show("最后结果:   " & s1)     

'最后结果:   0.1,0.8,1,2,2.3,3,4,5,6,6.3,7,8,8.2,9,10,10.1,11,11.2     晕死大家了,不好意思啊~

[此贴子已经被作者于2010-8-18 12:17:00编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/8/18 21:27:00 [显示全部帖子]

给 2楼、7楼、11楼 各一个大精华 ······呵呵。。。

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/8/19 10:29:00 [显示全部帖子]

您老人家真细心啊,  我是想到哪,代码写到哪, 本想抽个时间整理精简的, 当然,是没办法达到您上面的精简程度的, 毕竟功底不够, 呵呵 ,   多谢您了.    您16楼的又是一个大精华啦~

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/8/19 11:22:00 [显示全部帖子]

以下是引用lxl在2010-8-19 10:48:00的发言:

呵呵,你能精简成16楼那样的话,就相当于你独立的研究出了冒泡排序

排序算法除了冒泡法,还有很多、很多其他排序方式

Array.Sort 封装的是快速排序算法

 

感兴趣的话可以网上搜索一下。

不过算法对于.net来说没多少用,都被别人写好了。

 

真是之前已有那么多前辈的精华啊~   刚看了一下网上的介绍,  晕啊~~~~~

 

其实,就16楼代码,我是没弄懂 s 和 s()  的关系(就是字符串和数组/集合), 看了16楼的代码发现: 每执行一次变量n ,  String.Join后的 s 的排序就变化一次. 这很奇妙 .........

 

还有 {"中国","上海","浦东"}  居然等于  "中国,上海,浦东".split(",")    总之,咱底子薄(没啥基础) , 也没时间琢磨, 呵呵 懒啊~ 


 回到顶部