IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Tri d'un tableau de tres grande taille


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Par défaut Tri d'un tableau de tres grande taille
    Bonjour tout le monde, j'espere que je trouverai de l'aide ici, car franchement je cherche partout et pour le moment je suis bloqué. Enfin bref, je vous explique mon probleme. J'ai une image que je l'ai decomposé en blocs, et apres j'ai claculé des valeurs sur ces bloque et je les enregistré dans un tableau. La dimension de ce tableau est de 4100 presque ce qui est enorme, ce que je devrai faire est de trié ces 4100 valeurs dans l'ordre croissant. donc franchement il me faut une bonne fonction de tri, avez vous une idée et ou un bout de code de tri efficace que je peux utilisé? votre aide compte bcp pour moi, aidez moi svp .

  2. #2
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    4100? C'est pas énorme du tout... Essaye un simple sort..

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Par défaut
    je dirais même que 4100 est ridiculement peu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    std::vector<int> vis;
    ...
    std::sort(vis.begin(), vis.end());

  4. #4
    Membre confirmé Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Par défaut
    Ah d'accord vous m'assuré alors ouuf, mais en fit moi j'ai pas fait mon implementation en STL, je m explique . j'ai construi en fait un tableau structure, qui contient 3 champs pour une case du tableau

    intensité,coordonée_X,coordonée_Y , et je veux trié l intensité, et apres pour caque intensité je peux localisé le blocs correspondant avec les deux champs (X,Y). c'est bien dommage j ai pas travaillé avec les STL

  5. #5
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    c'est toujours possible (merci les itérateurs) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    tastructure tab[N] = ...;
     
    std::sort(tab, tab+N);
    Et si tastructure n'implémente pas d'opérateur < alors tu peux passer à sort un troisième paramètre qui est un foncteur.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Par défaut
    Par contre il va falloir que tu fournisses une fonction de comparaison (ou un foncteur) qui trie selon l'intensité.

    Et sinon pourquoi tu n'utilises pas la STL?

  7. #7
    Membre confirmé Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Par défaut
    Oui exactement j 'ai deja essayé avec cette commande mais ça marche pas je sais pas pourquoi:

    std::sort (Table.intensity,Table.intensity+Number_Of_Element);

    mais j' ai des erreurs de compilation:

    error C2228: la partie gauche de '.intensity' doit avoir un class/struct/union
    1> le type est 'Bloc_Table *'

    ??????????

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Transformer les elément d'un vector en tableau simple de grande taille
    Par kamilia_85 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 08/02/2009, 23h59
  2. utilisation d'entier de tres grande taille
    Par HoB dans le forum Langage
    Réponses: 3
    Dernier message: 27/04/2007, 14h19
  3. Taille de tableau tres tres grand (BCB6)
    Par cquadjul dans le forum C++Builder
    Réponses: 7
    Dernier message: 27/04/2006, 08h48
  4. taille d'un tableau 2d trop grande ?
    Par Tex-Twil dans le forum C++
    Réponses: 11
    Dernier message: 28/11/2005, 16h41
  5. decalage à gauche sur une tres grand tableau de char
    Par petitours dans le forum C++Builder
    Réponses: 10
    Dernier message: 14/07/2005, 22h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo