Je dois écrire un programme C qui utilise une liste chaînée. J'ai créé une liste et ajouté des éléments à la liste. Mais je ne sais pas comment imprimer tous les éléments de la liste. La liste est une liste de chaînes. Je me suis dit que je devais d'une manière ou d'une autre incrémenter la liste, imprimant toutes les chaînes présentes, mais je n'arrive pas à trouver un moyen de le faire. Short: Comment imprimer un linked list
?C, Imprimer la liste chaînée des chaînes
Répondre
Il n'y a pas de questions stupides . Voici quelques pseudo-code pour vous aider à démarrer:
def printAll (node):
while node is not null:
print node->payload
node = node->next
printAll (head)
C'est vraiment, il suffit de commencer au niveau du noeud de tête, l'impression de la charge utile et de passer au nœud suivant dans la liste.
Une fois que le prochain nœud est la fin de la liste, arrêtez.
Eh bien, en fait, il y a probablement sont, mais ce n'est pas un d'entre eux :-)
Merci, je pense que j'ai une bonne idée de ce qu'il faut faire maintenant. –
Je ne suis pas sûr que ce soit ce que vous cherchez , mais généralement vous stockez dans votre DS, un pHead (qui est un pointeur sur le premier élément), et implémentez une fonction qui récupère l'adresse suivante du nœud de chaîne.
Vous faites cela jusqu'à ce que l'adresse suivante soit NULL (ce qui signifie que vous avez atteint votre queue).
Vous pouvez utiliser un pointeur pour parcourir la liste des liens. Code Pseudo:
tempPointer = head
while(tempPointer not null) {
print tempPointer->value;
tempPointer = tempPointer->next;
}
code pseudo:
struct list
{
type value;
struct list* pNext;
}
void function()
{
struct list L;
// .. element to L
// Iterate each node and print
struct list* node = &L;
do
{
print(node->value)
node = node->next;
}
while(node != NULL)
}
Sons comme votre vraie question est "comment puis-je itérer une liste chaînée" - est-ce exact? – Cascabel
Le suivi de la question de Jefromi est en deux parties: 1) Pouvez-vous imprimer le contenu du premier nœud et 2) pouvez-vous obtenir un lien vers le deuxième nœud? – dmckee
Vraiment dépend de la structure de données que vous utilisez pour votre liste liée, pouvez-vous nous montrer votre code jusqu'à présent? Btw, si c'est devoirs, vous devriez marquer est comme tel. –