Hola amigos del corral, recién estoy empezando a programar en Visualnet 2008 y pues tengo un problemita con un poco de código, tengo datos en 1 listbox (lstcapturados), los cuales paso a un Arraylist (listaa) y necesito ordenarlos(método burbuja) y regresarlos ya ordenados a otro listbox (lstordenados)
Aquí el código espero me puedan ayudar, de antemano Gracias
Private Sub cmdordena_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdordena.Click
grpordenados.Visible = True
lstordenados.Visible = True
'AQUÍ QUIERO ORDENAR EL CONTENIDO DE LA LISTA1 A LISTA2, ESTOY BUSCANDO ALGUN METODO
'QUE ME FUNCIONE CORRECTAMENTE YA SEA BURBUJA, QUICKSORT, ETC
'Aquí Agrego los datos del listbox1 (lstcapturados) al Arraylist (listaa)
Dim q As Integer
With lstcapturados
listaa.Clear()
listaa.Capacity = lstcapturados.Items.Count
For q = 0 To .Items.Count - 1
listaa.Add(.GetItemText(.Items(q)))
Next
listaa.TrimToSize()
End With
'MÉTODO DE LA BURBUJA,
'No se si la propiedad a usar sea Item, ya que no me sale el ordenamiento
'Se acepta ayuda y/o correcciones para entender el Funcionamiento
Dim a, b, aux, alto As Integer
alto = listaa.Count
a = 0
b = 0
For a = 0 To alto Step +1
For b = 0 To alto Step +1
If listaa.Item(b) > listaa.Item(b + 1) Then
aux = listaa.Item(b)
listaa.Item(b) = listaa.Item(b + 1)
listaa.Item(b + 1) = aux
End If
Next
Next
'Aquí paso el contenido del Arraylist (listaa) al Listbox2 (lstordenado) >>falta ordenar<<
For x As Integer = 0 To listaa.Count - 1
lstordenados.Items.Add(listaa.Item(x))
Next
End Sub
Aquí el código espero me puedan ayudar, de antemano Gracias
Private Sub cmdordena_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdordena.Click
grpordenados.Visible = True
lstordenados.Visible = True
'AQUÍ QUIERO ORDENAR EL CONTENIDO DE LA LISTA1 A LISTA2, ESTOY BUSCANDO ALGUN METODO
'QUE ME FUNCIONE CORRECTAMENTE YA SEA BURBUJA, QUICKSORT, ETC
'Aquí Agrego los datos del listbox1 (lstcapturados) al Arraylist (listaa)
Dim q As Integer
With lstcapturados
listaa.Clear()
listaa.Capacity = lstcapturados.Items.Count
For q = 0 To .Items.Count - 1
listaa.Add(.GetItemText(.Items(q)))
Next
listaa.TrimToSize()
End With
'MÉTODO DE LA BURBUJA,
'No se si la propiedad a usar sea Item, ya que no me sale el ordenamiento
'Se acepta ayuda y/o correcciones para entender el Funcionamiento
Dim a, b, aux, alto As Integer
alto = listaa.Count
a = 0
b = 0
For a = 0 To alto Step +1
For b = 0 To alto Step +1
If listaa.Item(b) > listaa.Item(b + 1) Then
aux = listaa.Item(b)
listaa.Item(b) = listaa.Item(b + 1)
listaa.Item(b + 1) = aux
End If
Next
Next
'Aquí paso el contenido del Arraylist (listaa) al Listbox2 (lstordenado) >>falta ordenar<<
For x As Integer = 0 To listaa.Count - 1
lstordenados.Items.Add(listaa.Item(x))
Next
End Sub