Czesc,
mam prosbe czy ktos moze mi wytlumaczyc dlaczego moj quicksort nie dziala ?
#include<conio.h>
#include <iostream>
#include <cstdlib>
#include <ctime>
int x[] = {9,3,2,5,8,7,1,4};
void Swap(int i, int j){
int temp;
temp = x[i];
x[i] = x[j];
x[j] = temp;
}
int random(int min, int max)
{
return (int)((max - min) * rand()/(float)RAND_MAX + min);
}
void QuickSort(int iLowerBound, int iUpperBound){
int i, m;
if(iLowerBound >= iUpperBound)
return;
Swap(iLowerBound, random(iLowerBound, iUpperBound));
m = iLowerBound;
for(i=iLowerBound+1; i<=iUpperBound; i++)
if(x[i] < x[iLowerBound])
Swap(++m, i);
Swap(iLowerBound, m);
QuickSort(iLowerBound, m-1);
QuickSort(m+1, iUpperBound);
}
int main (void){
for(int i=0;i<8;i++)
printf("|%d", x[i] );
printf("\n");
QuickSort(0,4);
for(int i=0;i<8;i++)
printf("|%d", x[i] );
getch();
return 0;
}
Dziekuje za jakakolwiek podpowiedz...