CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : [C] Tri liste chainée

DébutPage précedente
1
Page suivantePage suivante
[DenshaOtoko] [DenshaOtoko]
MP
Niveau 11
14 avril 2014 à 14:36:09

Bonjour,

        pour le tri d'une liste chainée de cellule contenant un simple entier

donc par exemple :

struct cellule
{
           int valeur;
           struct cellule* suivante;
};

est-ce que le fait de trier en changeant juste les valeurs de ces cellules peut être considéré comme un tri de liste ?

Au final le resultat escompté est celui auquel on s'attend

Mais ne doit on pas plutôt trier les cellules elle même, c'est à dire qu'une cellule garde sa propre valeur, en ne touchant pas du tout en écriture les "int valeur" des cellules, mais juste trier en ne manipulant que les pointeurs "suivante" ? Je trouverais ça plus logique, car sinon je ne vois pas quelle serait la différence dans le cas du tri à bulle entre l'utilisation de liste chainée, et l'utilisation de tableau

Merci pour vos futures réponses :)

Lowenheim Lowenheim
MP
Niveau 10
14 avril 2014 à 16:56:04

Oui en effet ce que tu dis paraît plus "dans l'esprit" d'un algo de listes. Mais bon le tri-bulles c'est plutôt itératif en soi comme algorithme donc ça va ressembler pas mal à la version tableaux de toute façon.

Mais dans tous les cas je te conseille d'abstraire ta structure de liste en ayant des fonctions "head", "tail" et "cons" pour les manipuler sans avoir à toucher aux pointeurs.

Odvie Odvie
MP
Niveau 10
15 avril 2014 à 09:31:28

Oui, mais là c'est du débat philosophique :hap: Ce ne sont pas les mêmes types de listes chainées au final :noel:

Odvie Odvie
MP
Niveau 10
15 avril 2014 à 18:48:13

Bah le truc, c'est que si tu commences à changer les valeurs et pas les pointeurs dans une liste chainée, tu perds un peu tout l'intérêt de la liste chainée, à savoir la rapidité de modification.

Lowenheim Lowenheim
MP
Niveau 10
15 avril 2014 à 19:02:01

Rapidité de modification :doute: Modifier un int ou modifier un pointeur, c'est un peu équivalent je pense.

Pour moi l'intérêt des listes, c'est la capacité d'abstraction, qui permet de faire des algos récursifs plus élégants que les manipulations d'indices de tableaux.

[DenshaOtoko] [DenshaOtoko]
MP
Niveau 11
30 avril 2014 à 19:47:29

Au final je pense que je ferais les deux

trier en ne bougeant pas les cellules entre elle, mais en ne modifiant que les valeurs des cellules

Puis trier en bougeant les cellules entre elle et que chaque cellule garde sa propre valeur

Lowenheim Lowenheim
MP
Niveau 10
30 avril 2014 à 21:48:46

Le mieux est d'avoir une fonction donnant la valeur de la tête de liste, une fonction donnant la queue de la liste, et une fonction ajoutant un entier à une liste.
Ensuite tu fais ton algo en n'utilisant que ces fonctions et en ne touchant plus aux attributs de la structure "cellule" :ok:

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : godrik, LGV
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment