Mam pytanie... jak posortować tablice dwuwymiarową za pomocą quicksort? Napisalem coś takiego:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define W 7
int por(const void* a, const void * b) {
const int _a = (*(int*)a);
const int _b = (*(int*)b);
if (_a < _b) return -1;
if (_a==_b) return 0;
if (_a>_b) return 1;
}
int main(void)
{
int i;
int macierz[W];
srand(time(NULL));
printf("\nElementy przed sortowaniem: \n");
for(i=0; i<W; i++)
{
macierz[i]= (1+rand() % 5); // Dolna granica = 1, górna = 10
printf("%d ", macierz[i]);
}
printf("\nElementy po sortowaniu: \n");
qsort(macierz, W, sizeof(int), por);
for(i=0; i<W; i++)
{
printf("%d ", macierz[i]);
}
return 0;
}
Sortowanie tablicy jedno wymiarowej... ok działa ale teraz zastanawiam sie jak zrobic to samo na tablicy dwuwymiarowej.... Głownie chodzi mi zeby elementy tablicy były poukładane rosnąco.
Jak to można zrobić?