, так что это мой первый раз, размещая что-нибудь в StackOverflowQuicksort алгоритм не работает
я пытался реализовать алгоритм быстрой сортировки, но когда я скомпилировать код и попробуйте запустить его висит
так это код
#include <iostream>
using namespace std;
void swap(int& num1,int& num2)
{
int temp = num2;
num2 = num1;
num1 = temp;
}
int partitionTest(int arr[],int p,int r)
{
int i = p;
for(int j =p ;j<r-1;j++)
{
if(arr[j]> arr[r-1])
{
i++;
swap(arr[j],arr[r-1]);
}
swap(arr[i],arr[r]);
return i;
}
}
void quicksort(int arr[],int p,int r)
{
if (p < r)
{
int temp = partitionTest(arr, p, r);
quicksort(arr, p, temp - 1);
quicksort(arr, temp + 1, r);
}
}
int main()
{
int arr[5]={5,4,3,2,1};
quicksort(arr,0,4);
cout << arr[0] << " ";
cout << arr[1] << " ";
}
я был бы признателен какой-либо помощи
Возможно, вам следует изучить возможность перехода через ваш код с помощью отладчика, чтобы увидеть, где происходит ошибка, и посмотреть на состояние программы в то время. –
Возвращение чего-то в цикле остановит цикл и оставьте метод, и вы вызываете его безоговорочно. – Neil
Вы возвращаетесь на первую итерацию каждого форлупа – Glubus