Bonjour,
permier post open-source.
Je cherchais a faire un tableau classique mais a double entree, classiquement une image (i,j,valeur). Seulement il ne s'agissait pas d'image mais d'ensemble d'element... donc je ne pouvais faire un simple tableau meme sous forme de matrice.
J'ai donc cherche a cree un rangement simple dont le rapport temps d'acces a l'info/ taille memoire est faible. Dans un premier temps, je pensais aux pairs et aux vecteurs... mais bon, je sais pas comment cherche vecteur donc j'ai fait un truc perso. Ce qui m'a amene a faire une fonction pour rechercher efficacement mes elements.
Comme il s'agit d'un algo de recherche, qq1 l'a tres certainement imagine et pondu avant moi (surtout que l'idee est simple tout de meme).
/////
Description : fonction template demandant
_ l'objet a recherche
_l'adresse de depart du tableau de recherche
_le nombre max de case memoire pouvant etre lu et/ou l'endroit du tableau ou l'on souhaite arreter la recherche.
necessite un operateur == ...
/////
Type d'application cible : recherche dans une sequence, triee par ordre croissant, a cible unique ou mutiple quelconque (si on en veut une au hasard parmi les multiples). Plutot bon pour les moyennes discontinuites.
/////ressort l'indice du tableau contenant la cible ou un chiffre negatif (-1,-2,-3,-4 pour determiner si la cible est avant, pas dedans, apres ou si la bornemax est negative)
/////le code en fichier joint est une version 0.99 ...
Il faudrait que je relise qq info sur les statiques parce que j'ai utilise une ruse belge pour eviter qu'un if(1>2), mon compilo me reponde oui...
Donc si vous avez des commentaires sur le code... je les attends avec plaisir.
Une version avec comme 3eme parametre l'adresse de fin est aussi possible mais comme moins sur, j'ai pris cette version mais si faut, je vous fait la meme avec adresse en 3eme option.
///exemple d'appli :
"struct Coordonnee{x,y}"
"E=tableau de coordonnee (i,j)"
//je recherche l'indice du tableau (si ya) ou l'abscisse est 47
recherche_tab_logic(47,&((E+0).x),E.size-1);
///Merci!
Partager