2016-09-23 24 views
0

我必须制作一个程序,让用户在10个不同的文本框中输入10个不同的数字。文本框中的这些数字应该从最小到最大排序(由按钮单击事件触发)。我期望创建一个数组来执行此操作。在Visual Basic中对气泡排序文本框2015

我已经给出一些提示

  • 对于i = 0至9 '的第一,第二,第三环等

  • 对于j = i + 1的至9' 环为“针对每个其他

  • 和我应该切换的值这样的 - >温度= X - >X = Y - >Y =临时!这只能做,如果X> Y

我知道如何做到这一点做的,我能做到这一点,如果我公布各文本框的值的变量,并作了if语句为每个if比较,但我知道这不是我应该这样做的。我怎样才能尽可能有效地做到这一点?

我有什么到目前为止

Public Class Form1 
Dim I As Integer = 0 
Dim J As Integer = 0 
Dim Temp As Integer 
Dim number(9) As Integer 






Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

End Sub 





Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    number(0) = Convert.ToInt64(TextBox1.Text) 
    number(1) = Convert.ToInt64(TextBox2.Text) 
    number(2) = Convert.ToInt32(TextBox3.Text) 
    number(3) = Convert.ToInt64(TextBox4.Text) 
    number(4) = Convert.ToInt64(TextBox5.Text) 
    number(5) = Convert.ToInt64(TextBox6.Text) 
    number(6) = Convert.ToInt64(TextBox7.Text) 
    number(7) = Convert.ToInt64(TextBox8.Text) 
    number(8) = Convert.ToInt64(TextBox9.Text) 
    number(9) = Convert.ToInt64(TextBox10.Text) 


    For I = 0 To 9 

     If number(I) > number(I + 1) Then 
      Temp = number(I) 
      number(I) = number(I + 1) 
      number(I + 1) = Temp 

      For J = I + 1 To 9 
       If I > J Then 
        Temp = number(I) 
        number(I) = number(J) 
        number(J) = Temp 
       End If 
       J = J + 1 
      Next 

     End If 
     I = I + 1 
    Next 









End Sub 

末级

回答

-1

我希望这将有助于:d

public sub getInputs() 

    dim inputs() sa integer = {Val(textbox1.text),Val(textbox2.text),..} 
    return inputs 
end sub 

public sub bubblesort(inputsArr() as Integer) 
dim sorted as boolean = false 
dim x,y as Integer 
dim i as integer = 0; 
while (sorted = false) 
    do until i = inputs.Lenght 
     'current data 
     dim x = inputs(i) 
     'next data 
     y = inputs(i+1) 
     if(y<x) then 
      'Swap Data 
      inputs(i) = y 
      inputs(i+1)=x 
      sorted = false 
     end if 

    i=i+1 
    loop 
end while 
return inputs 
end sub 

//然后在您的按钮调用

dim inputs() as Integer = getInputs() 
bubblesort(inputs) 
+0

它几乎打败了海报的目的如果你为他们做的工作,给定的任务,除非课程被称为*如何发布你的工作在互联网上,让别人给你复制/粘贴答案,甚至没有尝试*,不是吗?这不是一个家庭作业完成网站。 –

+0

我不想复制和粘贴,这不会有生产力,因为要真正成功,我需要了解这些概念。我一直在想这个问题几个小时,并且真的需要帮助。给出的答案是有帮助的,但仍需要进行调整以符合项目的全部标准。 – ue4teu

+0

我只是想让你知道它是如何工作的,但请耐心等待,尽量缩短代码。我会编辑我的答案 – Paul