canal visual basic .net

Recursos Visual Basic.NET, VB.NET, Manuales de programación, Tutoriales, Foros de programación, Comunidad de programadores

Usuarios activos:  90

Foros de programación, recursos, tutoriales, sistemas operativos...

Bienvenido a la zona de foros. Participa en alguno de nuestros foros: Foros de visual basic, foros de visual basic.net foros de Crystal reports, foros de C++ - C# , foros de Java, foros de PHP, foros de ASP.net. Seguro que hay un foro que te servirá de gran utilidad y si no lo encuentras avísanos y crearemos uno nuevo.
 

Retroceder   Foro > Recursos y tutoriales > Sistema
 
LinkBack Herramientas Buscar en Tema Desplegado
  #1 (permalink)  
Antiguo 17-Jan-2006, 16:04
Moderador
Veteran@
 
Fecha de Ingreso: 29-December-2005
Ubicación: Costa Rica
Mensajes: 536
Enviar un mensaje por MSN a Jamec
Predeterminado



Este es el metodo de ordenacion "Qicksort", Recibe como parametro un arreglo


Sub QuickSort(List() As Double)
' Ordena un arreglo usando el algoritmo deQuick Sort



Dim i As Double, j As Double, b As Double
Dim l As Double, t As Double, r As Double, d As Double


Dim p(1 To 100) As Double
Dim w(1 To 100) As Double


k = 1
p(k) = LBound(List)
w(k) = UBound(List)
l = 1
d = 1
r = UBound(List)
Do
toploop:
If r - l < 9 Then GoTo bubsort
i = l
j = r
While j > i
comp = comp + 1
If List(i) > List(j) Then
swic = swic + 1
t = List(j)
oldx1 = List(j)
oldy1 = j
List(j) = List(i)
oldx2 = List(i)
oldy2 = i
newx1 = List(j)
newy1 = j
List(i) = t
newx2 = List(i)
newy2 = i
d = -d
End If
If d = -1 Then
j = j - 1
Else
i = i + 1
End If
Wend
j = j + 1
k = k + 1
If i - l < r - j Then
p(k) = j
w(k) = r
r = i
Else
p(k) = l
w(k) = i
l = j
End If
d = -d
GoTo toploop
bubsort:
If r - l > 0 Then
For i = l To r
b = i
For j = b + 1 To r
comp = comp + 1
If List(j) <= List(b) Then b = j
Next j
If i <> b Then
swic = swic + 1
t = List(b)
oldx1 = List(b)
oldy1 = b
List(b) = List(i)
oldx2 = List(i)
oldy2 = i
newx1 = List(b)
newy1 = b
List(i) = t
newx2 = List(i)
newy2 = i
End If
Next i
End If
l = p(k)
r = w(k)
k = k - 1
Loop Until k = 0
End Sub
__________________
Solo hay dos cosas infinatas: El Universo y la estupides humana; y del Universo no estoy seguro.
Albert Einstein
Responder Citando
  #2 (permalink)  
Antiguo 17-Jan-2006, 16:11
Avatar de [EX3]
Moderador
Guru
 
Fecha de Ingreso: 08-December-2005
Ubicación: Fuenlabrada, Madrid
Mensajes: 1.393
Predeterminado


No se si sera el mas rapido pero yo tengo un codigo mas reducido y que
permite ordenar tanto de mayor a menor como de menor a mayor:



Código:
'//Codigo perteneciente a la libreria dx_lib32 2.0. Este codigo es libre de usarse y modificarse:



'Ordena una lista de numeros de menor a mayor o viceversa (0 = <, 1 = >)

Public Function SORT_LongList(List() As Long, Optional SortMode As Byte) As Long

On Error GoTo ErrOut



Dim Temp As Long, X As Long, Sorted As Boolean



X = UBound(List)



If SortMode < 0 Then SortMode = 0 Else If SortMode > 1 Then SortMode = 1



Sorted = False

Do While Not Sorted

 Sorted = True

For X = 0 To UBound(List) - 1

 If SortMode = 1 And List(X) < List(X + 1) Or SortMode = 0 And List(X) > List(X + 1) Then

 Temp = List(X + 1)

 List(X + 1) = List(X)

 List(X) = Temp

 Sorted = False

 End If

 DoEvents

Next X

DoEvents

Loop



SORT_LongList = 1

Exit Function



ErrOut:

If Err.Number = 9 Then SORT_LongList = 2 'No hay elementos en la lista.

End Function
El parametro SortMode especifica la orientacion a la hora de ordenar la lista.



Modificando el tipo de dato se puede apañar para que ordene listas de
los diferentes tipos de datos numericos e incluso cadenas de texto. En
mi libreria tengo implementada una version para cada tipo de dato, al
menos los mas basicos y mas utilizados generalmente: Byte, Integer,
Long, Single, Double y String.



Salu2...



P.D.: Me he fijado que tu ejemplo utiliza la instruccion GoTo


Edited by: &#091;EX3&#093;
__________________
Cada vez que se alinean los planetas me paso de visita por el foro

dx_lib32: Programa juegos en Visual Basic 6.0 y Visual Basic .NET con la potencia de DirectX 8.1
Version 2.2.0 final publicada
Responder Citando
  #3 (permalink)  
Antiguo 30-Jun-2006, 09:34
Invitado
Guru
 
Fecha de Ingreso: 01-October-2003
Mensajes: 4.382
Predeterminado

Pues si tu sentencia es mas reducida y ps no kritikes la forma de programar de los demas y kritikas k el usa el go to y tu tambien lo usas kosa k me da a entender k nada mas kopiaste y pegaste va, grax y bye
Responder Citando
  #4 (permalink)  
Antiguo 01-Jul-2006, 19:08
Avatar de [EX3]
Moderador
Guru
 
Fecha de Ingreso: 08-December-2005
Ubicación: Fuenlabrada, Madrid
Mensajes: 1.393
Predeterminado

Cita:
Iniciado por MxZerocool
Pues si tu sentencia es mas reducida y ps no
kritikes la forma de programar de los demas y kritikas k el usa el go
to y tu tambien lo usas kosa k me da a entender k nada mas kopiaste y pegaste va, grax y bye
*Sabias* palabras... Me vas a comparar el metodo de comprobacion de errores de VB6, On Error Goto, con el
uso de Goto en mitad de un procedimiento pudiendo hacer codigo limpio con sentencias de bucle? Veo que hablamos por hablar,
por que de idea denotas tener poca (la misma que escribiendo) y si, critico cuando esa critica puede ser constructiva y no para soltar tonterias para tratar de ofender como tu pretendes.

Conoce mas a la persona a la que te dirijes y despues me vuelves con lo de 'copiar y pegar', que se cree el ladron que todos son de su condicion


__________________
Cada vez que se alinean los planetas me paso de visita por el foro

dx_lib32: Programa juegos en Visual Basic 6.0 y Visual Basic .NET con la potencia de DirectX 8.1
Version 2.2.0 final publicada
Responder Citando
  #5 (permalink)  
Antiguo 04-Jul-2006, 16:46
Senior Member
Veteran@
 
Fecha de Ingreso: 07-May-2006
Ubicación: Mexico
Mensajes: 752
Enviar un mensaje por MSN a Zitro
Predeterminado



Perdon por lo que voy a decir pero es un pendejo MxZeroCool por que ni sabe a quien se dirije, y ni siquiera sabe de visual basic no se que hacia aqui debio de estar buscando porno y se topo el wey con una pagina como esta y como hay personas que no tienen nada que hacer mas que observaciones estupidas ps ahi tienen un claro ejemplo


por favor no contestes si no es para decir algo que tenga sentido!
__________________
"Yo solo se que entre mas creo saber mas dudas tengo" Pero eso es lo hermoso del conocimiento "El Aprehender"
Responder Citando
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Activado


Temas Similares
Tema Autor Foro Respuestas Último mensaje
SQL metodo DELETE Guests Visual Basic 6.0 4 30-Jul-2009 04:11
método FindFirst de VB tasslehoff06 Bases de datos, ADO , ADO.NET 0 11-Oct-2008 04:55
Metodo Dispose() billwayne Visual Basic .NET 5 13-Oct-2006 01:30
Metodo Open Guests Visual Basic 6.0 0 05-Jun-2006 22:50
iconos de ordenacion en flexgrid Beatriz2006 Visual Basic 6.0 2 09-Apr-2006 12:57


La franja horaria es GMT +2. Ahora son las 02:30.


Visual Studio .VisualBasic.net .ADO.NET .ASP.NET .Framework .Crystal report
[Visual Basic .NET · Información legal · Condiciones de uso · Publicidad · Contacto · RSS novedades Foro · Inicio]
Un sitio web de Internelia (Ontecnia) © Copyright 2010 canalvisualbasic.net. Todos los derechos reservados