Cześć,
Zrobiłem sobie sortowanie metodą quicksort do dynamicznej tablicy, gdzie użytkownik na samym początku podaje rozmiar tablicy. Chcę teraz zrobić tak, że podprogram sortujący nie będzie modyfikował źródłowej tablicy, tylko wpisywał uporządkowane wartości do nowej tablicy o tym samym wymiarze.
Mógłby ktoś podsunąć, jak to zrobić? Część mojego kodu:
void display(int a[], int size)
{
int i;
//#pragma omp parallel for
for (i = 0; i < size; i++)
{
std::cout << a[i] << " ";
}
}
int main()
{
int size;
std::cout << "Podaj rozmiar tablicy: ";
std::cin >> size;
int *a = new int[size];
//losowanie wartosci i zapisanie do tablicy
srand(time(NULL));
for (int i = 0; i < size; i++)
{
a[i] = rand();
}
//Wyświetlanie tablicy
std::cout << "\n\nLiczby z tablicy: \n";
for (int i = 0; i < size; i++)
{
std::cout << a[i] << " ";
}
Sleep(1000);
system("cls");
clock_t start1 = clock();
szybkieszeregowo(tmp, 0, size - 1);
display(tmp, size);
std::cout << "\n\nCzas sortowania metoda szeregowo: " << clock() - start1 << " milisekund.\n";
Sleep(1000);
delete[] a;
return 0;
}