#include <iostream>
using namespace std;
void quicksort(int *tablica, int lewy, int prawy)
{
int v=tablica[(lewy+prawy)/2];
int i,j,x;
i=lewy;
j=prawy;
do
{
while (tablica[i]<v) i++;
while (tablica[j]>v) j--;
if (i<=j)
{
x=tablica[i];
tablica[i]=tablica[j];
tablica[j]=x;
i++;
j--;
}
}
while (i<=j);
if (j>lewy) quicksort(tablica,lewy, j);
if (i<prawy) quicksort(tablica, i, prawy);
}
int main()
{
int ile;
cout << "Ile liczb chcesz posotowac" << endl;
cin >> ile;
//tablica
int *tablica;
tablica=new int [ile];
//tablica
cout << "Napisz te liczby\n" << endl;
//wczytanie z klawiatury
for(int i=1; i<ile; i++)
{
cin >> tablica[i];
}
//wczytanie z klawiatury
//sortowanie
quicksort(tablica,0,ile-1);
//sortowanie
//wypisanie posortowanej zawartosci
for(int i=1; i<=ile; i++)
{
cout << i << ". " << tablica[i] << endl;
}
//wypisanie posortowanej zawartosci
}
Witam, to jest część mojego pomysłu na program sortujący z użyciem algorytmu quicksort. Problem w tym, że zamiast posortowanych liczb otrzymuje dziwne liczby których pochodzenia nie rozumiem. Oto przykładowe zrzuty ekranu:
Za wszystkie udzielone odpowiedzi z góry dziękuje.Pozdrawiam