| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6215 人关注过本帖
标题:要实现一维数组,从小到大排序,应该如何编写?
只看楼主 加入收藏
YAXIONG
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2006-11-6
收藏
 问题点数:0 回复次数:10 
要实现一维数组,从小到大排序,应该如何编写?
请问,若有数组Dim ss() As String ={6,5,8,9},要实现该数组,从小到大应该怎么编写程序呀??
知道的,说下好吗??非常感谢!!!
搜索更多相关主题的帖子: 从小到大 编写 
2006-11-21 12:55
梓风
Rank: 2
等 级:新手上路
威 望:4
帖 子:181
专家分:0
注 册:2006-10-22
收藏
得分:0 
冒泡排序
Dim ss As String() = {6, 5, 2, 7}
Dim i As Integer
Dim j As Integer
Dim Temp '不定义变量类型,以自动适应数组Ar的类型
Dim Flag As Boolean
Dim n As Integer = ss.Length - 1
For i = 1 To n
Flag = False
'从第1个元素开始,比较每两个相邻元素的大小,让大元素下沉,小元素上浮
'经过一轮循环,可使数组中最大元素下沉到数组最底部
'进入下一轮循环,只对前 n - i 个元素进行相邻比较(已排到后面的不用比较)
For j = 0 To n - i
If ss(j) > ss(j + 1) Then
Temp = ss(j)
ss(j) = ss(j + 1)
ss(j + 1) = Temp
Flag = True '如果有排序行为,则设为 True
End If
Next
If Flag = False Then '如未排序,说明已完成整个排序过程,退出
Exit For
End If
Next


等待相逢
2006-11-21 13:24
很受伤
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-11-21
收藏
得分:0 
不错

支持

2006-11-21 14:07
很受伤
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-11-21
收藏
得分:0 
不过双重循环为什么定义FLAG呢?


完了不就自动退出了吗?

而且如果有一个FLASE就退出,很有可能出错的.....
2006-11-21 14:11
YAXIONG
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2006-11-6
收藏
得分:0 
恩,实在是非常感谢啊!!

喜欢~左岸~~..
2006-11-21 15:02
梓风
Rank: 2
等 级:新手上路
威 望:4
帖 子:181
专家分:0
注 册:2006-10-22
收藏
得分:0 
Dim i, j As Integer
Dim min, index As Integer
Dim t As Integer
Dim a As Integer() = {32, 23, 14, 35, 64, 21, 36, 87, 7, 8}
For i = 0 To a.Length - 2
min = a(i)
index = i
For j = i + 1 To a.Length - 1
If min > a(j) Then
min = a(j)
index = j
End If
Next j
If index <> i Then
t = a(i)
a(i) = a(index)
a(index) = t
End If
Next i

等待相逢
2006-11-21 15:53
梓风
Rank: 2
等 级:新手上路
威 望:4
帖 子:181
专家分:0
注 册:2006-10-22
收藏
得分:0 
选择排序

等待相逢
2006-11-21 15:54
梓风
Rank: 2
等 级:新手上路
威 望:4
帖 子:181
专家分:0
注 册:2006-10-22
收藏
得分:0 
插入排序
Dim list As Integer() = {1, 13, 3, 6, 10, 55, 98, 2, 87, 12, 34, 75, 33, 47}
For i As Integer = 1 To list.Length - 1
Dim t As Integer = list(i)
Dim j As Integer = i
While ((j > 0) And (list(j - 1) > t))
list(j) = list(j - 1)
j = j - 1
End While
list(j) = t
Next
ListBox1.Items.Clear()
For i = 0 To list.Length - 1
ListBox1.Items.Add(list(i).ToString)
Next

等待相逢
2006-11-21 16:16
YAXIONG
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2006-11-6
收藏
得分:0 

感谢各位的帮助呀!!


喜欢~左岸~~..
2006-11-22 22:42
xinfresh
Rank: 4
等 级:贵宾
威 望:13
帖 子:594
专家分:0
注 册:2006-1-13
收藏
得分:0 

是不是有个方法名叫:sort
不知道能不能用于String


E-mail:xinfresh@QQ:383094053校内:http:///getuser.do?id=234719042
2006-11-23 12:42
快速回复:要实现一维数组,从小到大排序,应该如何编写?
数据加载中...
 
   



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

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