sortowanie tablicy dwuwymiarowej

0

Jak szybko posortować tablicę dwuwymiarową wedguł pierwszego wiersza. Przykład:
5 4 8 11 7 1 6
0 1 2 3 4 5 6

posortowana:
1 4 5 6 7 8 11
5 1 0 6 4 2 3

Może sort() z stl'a, ale jak tego użyć?

0

znam każdy z tych algorytmów i jakoś nie wiem jak odnieść to do tablicy dwuwymiarowej. Skoro tweirdzisz, że tak da sie posortować tablicę dwuwymairową (tzn, jeden wiersz sortuje, a drugi automatycznie zmienia się) to proszę o pomoc.
Może powiem inaczej, to tak, jakbym miał bazę danych z kolumnami A oraz B. Sortuje tylko kolumnę A.

0

Nie wpadłeś, że przy zamianie miejscami elementów z pierwszego wiersza powinieneś w ten sam sposób zamienić drugi wiersz?

zamień tab[0][i] z tab[0][j];
zamień tab[1][i] z tab[1][j];

0

Gdyby te algorytmy byłyby Ci tak znane, to byś rozwiązał ten problem.

Pierwszy z brzegu, bubblesort dla Twojej tablicy

int tablica[ 2 ][ 7 ] = { { 5 , 4 , 8 , 11 , 7, 1, 6 },
{ 0 , 1 , 2 , 3 , 4, 5, 6 } }; 

int _tmain(int argc, _TCHAR* argv[])
{
	int temp = 0;
	int zmiana = 0;
	int i = 0;
	int ile_liczb = 7;

	do
	{
		zmiana=0;
		i=ile_liczb-1;
   		do
		{
			i--;
			if (tablica[0][i+1]< tablica[0][i])
      		{
				temp=tablica[0][i];
				tablica[0][i]=tablica[0][i+1];
				tablica[0][i+1]=temp;

				temp=tablica[1][i];
				tablica[1][i]=tablica[1][i+1];
				tablica[1][i+1]=temp;

				zmiana=1;
			}
		}
		while (i!=0);
	}
	while (zmiana!=0);

	return 0;
}

Pisane na szybko.

1 użytkowników online, w tym zalogowanych: 0, gości: 1