logo

Durchlaufen einer einfach verknüpften Liste

Das Durchlaufen ist die häufigste Operation, die in fast jedem Szenario einer einfach verknüpften Liste ausgeführt wird. Durchlaufen bedeutet, jeden Knoten der Liste einmal zu besuchen, um eine Operation daran durchzuführen. Dies geschieht mithilfe der folgenden Anweisungen.

 ptr = head; while (ptr!=NULL) { ptr = ptr -> next; } 

Algorithmus

    SCHRITT 1:SET PTR = KOPFSCHRITT 2:WENN PTR = NULL

    „LEERE LISTE“ SCHREIBEN
    GEHE ZU SCHRITT 7
    ENDE VON WENN

    SCHRITT 4:WIEDERHOLEN SIE SCHRITT 5 UND 6, BIS PTR != NULLSCHRITT 5:DRUCKEN PTR→ DATENSCHRITT 6:PTR = PTR → WEITER

    [ENDE DER SCHLEIFE]

    SCHRITT 7:AUSFAHRT

C-Funktion

 #include #include void create(int); void traverse(); struct node { int data; struct node *next; }; struct node *head; void main () { int choice,item; do { printf('
1.Append List
2.Traverse
3.Exit
4.Enter your choice?'); scanf('%d',&choice); switch(choice) { case 1: printf('
Enter the item
'); scanf('%d',&item); create(item); break; case 2: traverse(); break; case 3: exit(0); break; default: printf('
Please enter valid choice
'); } }while(choice != 3); } void create(int item) { struct node *ptr = (struct node *)malloc(sizeof(struct node *)); if(ptr == NULL) { printf('
OVERFLOW
'); } else { ptr->data = item; ptr->next = head; head = ptr; printf('
Node inserted
'); } } void traverse() { struct node *ptr; ptr = head; if(ptr == NULL) { printf('Empty list..'); } else { printf('printing values . . . . .
'); while (ptr!=NULL) { printf('
%d',ptr->data); ptr = ptr -> next; } } } 

Ausgabe

 1.Append List 2.Traverse 3.Exit 4.Enter your choice?1 Enter the item 23 Node inserted 1.Append List 2.Traverse 3.Exit 4.Enter your choice?1 Enter the item 233 Node inserted 1.Append List 2.Traverse 3.Exit 4.Enter your choice?2 printing values . . . . . 233 23