CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • 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 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] Tri liste chainée

[denshaotoko]
[denshaotoko]
Niveau 25
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
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
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
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
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]
Niveau 25
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
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:

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment