Dim numbersToSort(1000) As Integer
Dim rng As Random = New Random
Console.WriteLine("Quicksort Test")
For i = 0 To numbersToSort.Length - 1
numbersToSort(i) = rng.Next(1, 101)
numbersToSort = quickSort(numbersToSort)
For i = 0 To numbersToSort.Length - 1
Console.WriteLine(numbersToSort(i))
Function quickSort(ByVal listToSort() As Integer)
Dim pivot As Integer = listToSort.Length - 1
Dim currentItem As Integer = 0
If listToSort.Length <= 1 Then
Do Until currentItem = pivot
If listToSort(currentItem) <= listToSort(pivot) Then
listToSort(wall) = listToSort(currentItem)
listToSort(currentItem) = temp
currentItem = currentItem + 1
listToSort(wall) = listToSort(pivot)
Dim leftList(wall - 1) As Integer
Dim rightList((listToSort.Length - 1) - wall) As Integer
Array.Copy(listToSort, 0, leftList, 0, wall)
Array.Copy(listToSort, wall, rightList, 0, listToSort.Length - wall)
leftList = quickSort(leftList)
rightList = quickSort(rightList)
Dim returnList((leftList.Length + rightList.Length) - 1) As Integer
leftList.CopyTo(returnList, 0)
rightList.CopyTo(returnList, leftList.Length)