Ordenar uma matriz, dúvida

Boas pessoal. Tenho um problema, mais a nível algorítmico que outra coisa. Eu tenho que ordenar uma matriz de 100000x100000 de duas maneiras diferentes.
Primeira é por ordem crescente de numero de linha e, dentro de cada linha, por ordem crescente de coluna, ou ao contrário.

Eu como vou precisar de ter acesso aos valores porque há valores na matriz que eu vou ter que apagar enventualmente, tenho que ter cuidade e não desaparecer com informação que mais tarde possa ser necessária.

Se eu usar um algoritmo nlogn, como abordaria isto caso o algoritmo seja estável ou não?

Eu vou precisar de "escrever por cima" da matriz antiga visto que o meu programa vai ter que utilizar as matrizes resultantes disto em funções já escritas.

Eu na minha cabeça literalmente criava listas suficientes para ordenar cada coluna, e depois de ordenar as colunas, ia ordenar cada linha (ordenar por linhas), ou ao contrário, se fosse para ordenar por valor de colunas. Estou a ver isto da forma errada?

Já agora, se importar, a linguagem é C
 
Back
Topo