Dans un (m par n) tableau stocké comme double *d
(colonne principale), ce qui est le moyen le plus rapide de la sélection d'une plage de lignes et ou colonnes:Comment trouver un sous-ensemble d'un tableau 2d en sélectionnant des lignes et des colonnes dans c?
double *filter(double *mat, int m, int n, int rows[], int cols[]);
invoqué comme:
double *B;
int rows[]= {1,3,5}; int cols[]={2,4};
B = filter(A, 5, 4, rows, cols);
qui est prévu pour retourner un sous-ensemble de 3 par 2 de A composé d'éléments (1,2), (1,4), (3,2) ...
On dirait des devoirs pour moi. – hirschhornsalz
Qu'entendez-vous par «plus rapide»? Voulez-vous dire «plus rapide à mettre en œuvre», «plus rapide à compiler» ou «plus rapide à exécuter»? Très probablement, vous voulez dire le dernier, auquel cas la réponse est: essayez différentes techniques et profilez chacune pour votre plate-forme cible. De la façon dont vous l'avez codé, filter() devra allouer de la mémoire, donc votre API n'est pas idéale pour les performances d'exécution. - William Pursell il ya 0 secondes [Supprimer ce commentaire] –