Rechercher : dans
Par :

Tri d'un tableau 1D c++

Dernière réponse le 20 mar 2009 à 05:32:25 beni, le 19 fév 2005 à 17:51:46 
 Signaler ce message aux modérateurs

Bonjour à tous,

Quelqu'un pourrait m'aider à trier ce tableau en c++ comme suit:

tab={-1, -1, 0,0 ,17,25,-1,8,0,28} en tab={-1,-1,0,0,2,3,-1,1,4 }.
C'est à dire à reassigner les elements du tableau par ordre de grandeur sans toucher aux 0 et -1.
Je suis confronté à un debordement de capacité de type int, ce qui m'oblige à reassigner mon tableau à chaque iteration.

Je vous remercie d'avance.

Meilleures réponses pour « tri d'un tableau 1D c++ » dans :
Trier un tableau sans utiliser la fonction sort VoirTrier un tableau sans utiliser la fonction sort D'abord on initialise une variable $max avec la 1ère valeur de tableau. Ensuite on va faire une boucle tant que le tableau contient encore des éléments. C'est avec la fonction splice qui a le rôle...
Les structures en langage C VoirDifférence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...
Les tableaux en langage C++ VoirType de données complexes Les variables, telles que nous les avons vues, ne permettent de stocker qu'une seule donnée à la fois. Or, pour de nombreuses données, comme cela est souvent le cas, des variables distinctes seraient beaucoup trop lourdes...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...

1

abderrazzak, le 10 fév 2009 à 20:38:22

Utilser la boucle suivantes
for(i=1,i..n,i++)
for(j=1,j..n,j++)
x=t[i]
t[i]=t[j]
t[j]=x

la suite avec toi......................

Répondre à abderrazzak

2

tuxun, le 14 mar 2009 à 00:21:47

Salut! j'ai sous les yeux un article intitulée: "Implémentation des algorithmes de tri" paru dans le numéro 2
du "Linux developer's Journal"
Je vais essayé d'étayer la réponse de abderrazzack...
le tri qu'il t'explique et un tri par selection...
On parcourt la matrice en supposant que le premier nombre est le plus petit...
Jusqu'au cas ou évidemment on rencontre une valeur plus petite que celle de l'indice 0 de la matrice...
Donc on echange ces 2 éléments afin de placer le plus petit au premier indice.
Puis on retest pour voir si tab[0] est la plus petite valeur de toutes la liste...
Si Oui, on reitere a partir de tab[1] sinon, on echnage avec la plus petite valeur trouvé...

Désolé je n'ai pas le temps de finir mais sache que cet algo est en O(szlist^2),
ce qui n'est pas optimal au niveau du temps d'execution...

Sinon le tri par insertion dichotomique:
(qui parcourt la liste dans les deux sens en meme temps a partir du millieu et realise un tri par insertion
simple: tres semblable au tri par selection en vitesse d'execution O(szlist^2) mais est plus rapide
sur une liste presque triées tout de meme, ce qui permettra de l'utiliser dans un autre algoritme:le tri par insertion de structure (binary search) ou le tri shell)
A demain!
-Tuxun-

Répondre à tuxun

3

 tuxun, le 20 mar 2009 à 05:32:25
Répondre à tuxun
Collection CommentÇaMarche.net