J'ai un algorithme de tri d'insertion qui trie les entiers stockés dans un tableau. Dans un programme différent, j'ai créé une structure avec des mots et un compte. J'ai besoin de trier les structures stockées dans un tableau par ordre alphabétique en utilisant le même type d'insertion. Je comprends comment les comparer, mais je ne peux pas trouver un moyen de les échanger. Des idées?Comment implémenter l'échange de structures pour l'algorithme de tri d'insertion dans C
typedef struct { char * word; int count; } wordType;
Soyez prudent avec cette chaîne. – Anthony
La chaîne est bonne, c'est juste un pointeur et sera permutée telle quelle. Puisque vous écartez les deux éléments en entier, cela ne fait aucune différence que ce soit une copie superficielle ou profonde. – paxdiablo
Oui, ça irait plutôt bien. Faites attention à toute autre référence aux cordes qui traînent. Quelque chose comme: 'char * s1 = w1.word; swapEm (& w1, &w2); strcpy (s1, "Vous êtes w1"); 'Oups, a écrit sur la mauvaise chaîne.Certes, il est peu probable que ce genre de chose se produise dans une sorte d'insertion, et si oui ou non cela est réellement l'erreur dépend de l'intention derrière le swap en premier lieu. – Anthony