PDA

View Full Version : مبتدی: مرتب سازی حبابی



leilast
چهارشنبه 04 مرداد 1396, 20:48 عصر
سلام
من این الگوریتم رو برای مرتب سازی حبابی نوشتم اما در قسمت Button_click این خطا رو میده.

Error BC30455 Argument not specified for parameter 'aArray' of 'Public Function Exchange(aArray As Object) As Integer()'.

ممنون میشم راهنماییم کنید.




Public Class Form2 Private unsortlist As New Sort




Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
unsortlist.Exchange()


End Sub


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


End Sub
End Class
Public Class Sort
Public Property aArray As Integer() = {5, 34, 12, 56, 2, 4, 12, 78, 90, 22, 1, 43}


Public Function Exchange(aArray) As Integer()
Dim i, j, temp As Integer
Dim flag As Integer = 1
For i = 11 To 0 Step -1
flag = 0
For j = 0 To j < i Step +1
If aArray(j) > aArray(j + 1) Then
flag = 1
temp = j
aArray(j) = aArray(j + 1)
aArray(j + 1) = temp
End If
Next
Next
Exchange = aArray
End Function
End Class

محمد آشتیانی
پنج شنبه 05 مرداد 1396, 13:16 عصر
سلام
خب طبیعیه خطا میده چون پیاده سازیتون اشتباهه ، کلاس Sort به این شکل میشه


Public Class BubbleSort


Public Function SortArray(inputArray As Integer()) As Integer()


Dim localArray = inputArray.Clone()
Dim i, j, temp As Integer


For i = 0 To localArray.Length - 2
For j = 0 To localArray.Length - i - 2
If localArray(j) > localArray(j + 1) Then
temp = localArray(j)
localArray(j) = localArray(j + 1)
localArray(j + 1) = temp
End If
Next
Next


Return localArray


End Function


End Class


استفاده هم به این صورت


Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button2.Click


Dim bubbleSort As New BubbleSort
Dim array() = bubbleSort.SortArray(New Integer() {5, 34, 12, 56, 2, 4, 12, 78, 90, 22, 1, 43})


End Sub



پیشنهاد میکنم کمی بیشتر مطالعه بفرمائید.