Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,45 @@
|
|||
Dim Shared As Long array(9), pivote
|
||||
|
||||
Function QuickPartition (array() As Long, izda As Long, dcha As Long, pivote As Long) As Long
|
||||
Dim As Long pivotValue = array(pivote)
|
||||
Swap array(pivote), array(dcha)
|
||||
Dim As Long indice = izda
|
||||
For i As Long = izda To dcha-1
|
||||
If array(i) < pivotValue Then
|
||||
Swap array(indice), array(i)
|
||||
indice += 1
|
||||
End If
|
||||
Next i
|
||||
Swap array(dcha), array(indice)
|
||||
Return indice
|
||||
End Function
|
||||
|
||||
Function QuickSelect(array() As Long, izda As Long, dcha As Long, k As Long) As Long
|
||||
Do
|
||||
If izda = dcha Then Return array(izda) : End If
|
||||
pivote = izda
|
||||
pivote = QuickPartition(array(), izda, dcha, pivote)
|
||||
Select Case k
|
||||
Case pivote
|
||||
Return array(k)
|
||||
Case Is < pivote
|
||||
dcha = pivote - 1
|
||||
Case Is > pivote
|
||||
izda = pivote + 1
|
||||
End Select
|
||||
Loop
|
||||
End Function
|
||||
|
||||
Dim As Long a = Lbound(array), b = Ubound(array)
|
||||
Print "Array desordenado: ";
|
||||
For i As Long = a To b
|
||||
Read array(i)
|
||||
Print array(i);
|
||||
Next i
|
||||
Data 9, 8, 7, 6, 5, 0, 1, 2, 3, 4
|
||||
|
||||
Print !"\n\n Array ordenado: ";
|
||||
For i As Long = a To b
|
||||
Print QuickSelect(array(), a, b, i);
|
||||
Next i
|
||||
Sleep
|
||||
Loading…
Add table
Add a link
Reference in a new issue