Código de Basic - Ordenamiento Quick Sort

Filtrado por el tag: Array
<<>>
Imágen de perfil

Ordenamiento Quick Sortgráfica de visualizaciones


Basic

Publicado el 20 de Enero del 2025 por Ángel (5 códigos)
813 visualizaciones desde el 20 de Enero del 2025
Programa para ordenar un vector con el método Quick Sort, un método muy eficiente que permite reducir el tiempo de procesamiento en un 90%, muy útil para ordenar cantidades elevadas de elementos.

Requerimientos

Programa desarrollado en lenguaje Qb64 (Quick Basic).
Se puede descargar el IDE en qb64.com
Tutorial en https://www.qb64tutorial.com/the-tutorial
Otras páginas son Qb64.org https://www.abcdatos.com/tutoriales/programacion/qbasic/

Versión 1.0

Publicado el 20 de Enero del 2025gráfica de visualizaciones de la versión: Versión 1.0
814 visualizaciones desde el 20 de Enero del 2025
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Qb64 (Quick Basic).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
' Ordenamiento de un vector con el metodo Quick Sort.
' https://sites.google.com/site/abugarins/, abugarins@gmail.com
'
Option _Explicit
Screen _NewImage(1260, 940, 32)
_FullScreen
 
 
Dim T As Double
Dim I As Double, J As Double
 
Data 37,9,74,94,-7,13,47,-3,14,71,66
Data 98,52,-63,46,48,09,04,-49,65,68,30
 
J = 20 ' Tamano del vector (Cantidad de numeros a ordenar).
 
ReDim T(J) As Double ' Vector a ordenar
 
Print
 
For I = 1 To J
    Read T(I)
    Print T(I);
Next I
 
Print
Print
 
QuickSort T(), 1, J
 
For I = 1 To J
    Print T(I);
Next I
 
End
 
' Funcion de ordenamiento Quick Sort.
 
Sub QuickSort (Vec() As Double, Izq As Double, Der As Double)
 
    Dim Piv As Double, Ii As Double, Jj As Double, Au As Double
 
    If Izq < Der Then
        Piv = Vec(Izq)
        Ii = Izq
        Jj = Der
 
        Do
 
            Do While Vec(Ii) < Piv
                Ii = Ii + 1
            Loop
 
            Do While Vec(Jj) > Piv
                Jj = Jj - 1
            Loop
 
            If Ii <= Jj Then
                Au = Vec(Ii)
                Vec(Ii) = Vec(Jj)
                Vec(Jj) = Au
                Ii = Ii + 1
                Jj = Jj - 1
            End If
 
        Loop Until Ii > Jj
 
        QuickSort Vec(), Izq, Jj
        QuickSort Vec(), Ii, Der
 
    End If
 
End Sub



Comentarios sobre la versión: Versión 1.0 (0)


No hay comentarios
 

Comentar la versión: Versión 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7559