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


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

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

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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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))

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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/17 21:51:00 [显示全部帖子]

以下是引用mr725在2010-8-17 18:52:00的发言:

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

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

 

呵呵,不是我厉害,是vb.net本来就有数组排序功能


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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/18 8:03:00 [显示全部帖子]

呵呵,lxl版主的解法比较规范和专业,我来个比较无赖的解法:

 

Dim s1() As String = "2,6,3,8,4,9,1,7,5,10,21".Split(",")
Dim s2(s1.Length - 1) As Integer
For i As Integer = 1 To  s1.Length  - 1
    s2(i) =s1(i)
Next
Array.Sort(s2)
For i As Integer = 1 To s2.Length  - 1
    Output.Show(s2(i))
Next

 


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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/19 10:06:00 [显示全部帖子]

呵呵,看了你自己写的代码,我觉得我必须重新写一个来开导你一下。

下面的排序不需要专业知识,也不需要借助数组的Sort方法排序,只用了一个简单的比较:

 

Dim s() As String = "2,6,3,8,4,9,1,7,5,10,21".Split(",")
Dim
cnt As Integer = s.Length
For
n As Integer = 0 To cnt - 1
    For
m As Integer = cnt - 1 To n + 1 Step - 1
        Dim
v1 As Double = s(m - 1)
        Dim
v2 As Double = s(m)
        If
v2 < v1 Then
            s
(m - 1) = v2
            s(m) = v1

        End If
    Next
Next

Output.show(
String.Join(",",s))

[此贴子已经被作者于2010-8-19 10:11:08编辑过]

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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/19 10:46:00 [显示全部帖子]

孰能生巧,我只是比你多写了10多年的代码而已。

 

图片点击可在新窗口打开查看


 回到顶部