vb中自己输入并用冒泡排序输出【高手来帮帮忙啊】

qq348863945 2011-09-07 10:41:58
小弟我刚入门学vb,现在遇到困难了,请各位高手帮忙解答。
下面代码是给出一些数用冒泡排序的方法:
   Sub Main()
Dim Arr() = {25, 36, 52, 34, 18, 98, 58, 83, 46, 67}
Dim i, j As Integer
Dim temp As Integer
For i = 0 To 8
For j = 9 To 9 - i Step -1
If Arr(j) < Arr(j - 1) Then
temp = Arr(j)
Arr(j) = Arr(j - 1)
Arr(j - 1) = temp
End If
Next j
Next i
For i = 0 To 9
Console.Write(Arr(i))
Console.Write(" ")
Next
Console.Read()

但我想自己输入一些数用冒泡排序就不会了,不知道输入的数据应该放在哪里,请高手们帮帮忙啊。
...全文
372 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuhuailei 2011-09-16
  • 打赏
  • 举报
回复
[code type=VB.NET]111[/code]
zhuhuailei 2011-09-16
  • 打赏
  • 举报
回复
[code type=VB]aa[/code]
zhuhuailei 2011-09-16
  • 打赏
  • 举报
回复
aa
SineMetu1 2011-09-13
  • 打赏
  • 举报
回复
LZ 我的代码不行吗?
qq348863945 2011-09-13
  • 打赏
  • 举报
回复
恩,可以了哦,谢谢你了,我在慢慢研究一下哦
[Quote=引用 22 楼 running_crazy 的回复:]

LZ我把你代码改了下,你的ArraySort 是空数组,排序后还是空的,没有吧原数组Array赋值过去,还有最后输出的是原数组,应该输出排序后的ArraySort数组.下边是代码!
VB.NET code

Dim Array() As String = Split(TextBox1.Text, " ")
Dim ArraySort(Array.Length - 1) As……
[/Quote]
SineMetu1 2011-09-13
  • 打赏
  • 举报
回复
LZ我把你代码改了下,你的ArraySort 是空数组,排序后还是空的,没有吧原数组Array赋值过去,还有最后输出的是原数组,应该输出排序后的ArraySort数组.下边是代码!

Dim Array() As String = Split(TextBox1.Text, " ")
Dim ArraySort(Array.Length - 1) As Double
For i As Integer = 0 To Array.Length - 1
ArraySort(i) = Val(Array(i))
Next
Dim temp As Double = 0
For i As Integer = 0 To ArraySort.Length - 1
For j As Integer = i To ArraySort.Length - 1
If ArraySort(j) >= ArraySort(i) Then
temp = ArraySort(i)
ArraySort(i) = ArraySort(j)
ArraySort(j) = temp
End If
Next
Next
Dim output As String = "输出"
For z As Integer = 0 To ArraySort.Length - 1
output += ArraySort(z).ToString
Next
Label1.Text = output

qq348863945 2011-09-13
  • 打赏
  • 举报
回复

Dim Array() As String = Split(TextBox1.Text, " ")
Dim ArraySort(Array.Length - 1) As Double
Dim temp As Double = 0
For i As Integer = 0 To ArraySort.Length - 1
For j As Integer = i To ArraySort.Length - 1
If ArraySort(i) >= ArraySort(j) Then
temp = ArraySort(i)
ArraySort(i) = ArraySort(j)
ArraySort(j) = temp
End If
Next
Next
For z As Integer = 0 To ArraySort.Length - 1
Label1.Text = "输出" & Array(z)
Next
是根据你的改得哦
[Quote=引用 20 楼 running_crazy 的回复:]

把你代码贴出我看看!
[/Quote]
SineMetu1 2011-09-13
  • 打赏
  • 举报
回复
把你代码贴出我看看!
qq348863945 2011-09-13
  • 打赏
  • 举报
回复
我是vb新手哦,刚刚才开始学的,你说的方法不会哦
[Quote=引用 18 楼 wknight_it 的回复:]

Array.Sort方法的源代码也是利用冒泡算法排序的,所以LZ可以去查看该方法的源代码
[/Quote]
风骑士之怒 2011-09-13
  • 打赏
  • 举报
回复
Array.Sort方法的源代码也是利用冒泡算法排序的,所以LZ可以去查看该方法的源代码
qq348863945 2011-09-13
  • 打赏
  • 举报
回复
怎么我输出总是0啊
[Quote=引用 14 楼 running_crazy 的回复:]

把你输入的数据 用空格隔开然后用dim Array() as double = split(textbox1.text," ") 得到你需要排序的数组Array然后你就可以对这个数组进行排序了!
[/Quote]
qq348863945 2011-09-13
  • 打赏
  • 举报
回复
恩,谢谢你了
[Quote=引用 14 楼 running_crazy 的回复:]

把你输入的数据 用空格隔开然后用dim Array() as double = split(textbox1.text," ") 得到你需要排序的数组Array然后你就可以对这个数组进行排序了!
[/Quote]
大刘0417 2011-09-13
  • 打赏
  • 举报
回复
菜鸟只帮顶。
SineMetu1 2011-09-13
  • 打赏
  • 举报
回复
把你输入的数据 用空格隔开然后用dim Array() as double = split(textbox1.text," ") 得到你需要排序的数组Array然后你就可以对这个数组进行排序了!
qq348863945 2011-09-13
  • 打赏
  • 举报
回复
非常好哦,谢谢你了···
要是我用window窗口下,怎么将我输入的数据链接到那里面啊,我用个循环能后Arrey(i)=textbox1.text,这样不行啊,是不是还少了点什么啊
[Quote=引用 12 楼 running_crazy 的回复:]

LZ 我的代码不行吗?
[/Quote]
qq348863945 2011-09-12
  • 打赏
  • 举报
回复
你这是用window窗口写的吧,可以实现自己输入么
[Quote=引用 8 楼 wl58796351 的回复:]
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'输入数据:
Dim temp = "25, 36, 52, 34, 18, 98, 58, 83, 46, 67"
Di……
[/Quote]
qq348863945 2011-09-12
  • 打赏
  • 举报
回复
谢谢哦,我等下试试看,有问题在跟你说哦
[Quote=引用 7 楼 running_crazy 的回复:]

我写了一个楼主看看
VB.NET code
Sub Main()
System.Console.WriteLine("请输入要排序的数用空格隔开:")
Dim SS As String = System.Console.ReadLine()
Dim Array() As String = Split(SS, " ")
Dim ……
[/Quote]
qq348863945 2011-09-12
  • 打赏
  • 举报
回复
你好,我对你写的程序有点看不懂哦,你那输入数据部分怎么还要在代码里先打进数据进去啊,我好像没看出输入输出的地方,如果你又时间的话麻烦你帮我写一下完整的代码哦,谢谢了
[Quote=引用 8 楼 wl58796351 的回复:]
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'输入数据:
Dim temp = "25, 36, 52, 34, 18, 98, 58, 83, 46, 67"
Di……
[/Quote]
wl58796351 2011-09-09
  • 打赏
  • 举报
回复

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'输入数据:
Dim temp = "25, 36, 52, 34, 18, 98, 58, 83, 46, 67"
Dim arr = (From m In temp.Split(","c, " "c) Where IsNumeric(m) Order By m Descending Select m).ToArray

'冒泡不用自己写,麻烦,只要知道原理就可以了
' Array.Sort(arr)

For Each c In arr
Console.Write(c.ToString & vbTab)
Next

End Sub
SineMetu1 2011-09-09
  • 打赏
  • 举报
回复
我写了一个楼主看看
Sub Main()
System.Console.WriteLine("请输入要排序的数用空格隔开:")
Dim SS As String = System.Console.ReadLine()
Dim Array() As String = Split(SS, " ")
Dim ArraySort(Array.Length - 1) As Double
System.Console.WriteLine("下边是要排序的内容:")
For i As Integer = 0 To Array.Length - 1
ArraySort(i) = Val(Array(i))
Next
Dim temp As Double = 0.0
For i As Integer = 0 To ArraySort.Length - 1
For j As Integer = i To ArraySort.Length - 1
If ArraySort(i) >= ArraySort(j) Then
temp = ArraySort(i)
ArraySort(i) = ArraySort(j)
ArraySort(j) = temp
End If
Next
Next
For i As Integer = 0 To ArraySort.Length - 1
System.Console.Write(ArraySort(i).ToString + " ")
Next
System.Console.ReadLine()
End Sub
加载更多回复(5)

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧