Не работает QuickSort - VB
Формулировка задачи:
Скажем так написал быструю сортировку, вроде по правилам, но как не странно она у меня не работает).
Помогите разобраться.
Листинг программы
- Sub sort(l, r)
- i = l: j = r
- x = a(Int((l + r) / 2))
- While i <= j
- While a(i) < x
- i = i + 1
- Wend
- While x < a(j)
- j = j - 1
- Wend
- If i <= j Then
- p= a(i): a(i) = a(j): a(j) = p
- i = i + 1: j = j - 1
- End If
- Wend
- If l < j Then Call sort(l, j)
- If i < r Then Call sort(i, r)
- End Sub
чуть чуть изменил
Теперь Out of stack space больше не выходит)
Листинг программы
- Sub sort(ByVal l, r)
- i = l: j = r
- x = a(Int((l + r) / 2))
- Do
- While a(i) < x
- i = i + 1
- Wend
- While x < a(j)
- j = j - 1
- Wend
- If i <= j Then
- w = a(i): a(i) = a(j): a(j) = w
- i = i + 1: j = j - 1
- End If
- Loop Until (i > j)
- If l < j Then Call sort(l, j)
- If i < r Then Call sort(i, r)
- End Sub
Решение задачи: «Не работает QuickSort»
textual
Листинг программы
- Sub sort(l, r)
- i = l: j = r
- x = A(Int((l + r) / 2))
- While i < j
- While A(i) < x
- i = i + 1
- Wend
- While x < A(j)
- j = j - 1
- Wend
- If i <= j Then
- p = A(i): A(i) = A(j): A(j) = p
- i = i + 1: j = j - 1
- End If
- Wend
- If Abs(l - i) > 2 Then sort l, i
- If Abs(r - i) > 2 Then sort i, r
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д