VB Shell sort
初心者です。
シェルソート後の数字がうまく表示できません。
見よう見まねでしているので、どこがどうおかしいのかわかりません。
大変、恐縮ですが宜しくお願いいたします。
-----------------------------------------
Public Class Form1
Dim intNumber() As Integer = {2, 6, 4, 8, 10, 12, 89, 45, 37}
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Display unsorted numbers to lists
For i As Integer = 0 To 8
lstShell.Items.Add(intNumber(i))
Next
End Sub
Sub btnSort2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSort2.Click
Dim i As Integer, j As Integer, k As Integer
Dim temp As Integer
Dim gap As Integer
Dim count As Integer
gap = count / 2
Do While gap > 0
k = 0
Do While k < gap
j = k + gap
Do While j < count
i = j - gap
Do While i >= k
If intNumber(i + gap) > intNumber(i) Then
temp = intNumber(i + gap)
intNumber(i + gap) = intNumber(i)
intNumber(i) = temp
Else
Exit Do
End If
i = i - gap
Loop
j = j + gap
Loop
k = k + 1
Loop
gap = gap / 2
Loop
'Display numbers to list
lstShell.Items.Clear()
For i As Integer = 0 To 8
lstShell.Items.Add(intNumber(i))
Next
End Sub
End Class
お礼
ありがとうございました。 無事、問題が解決できました。