Ich wollte 5 Knoten erstellen und einen neuen Knoten zwischen dem 3. und 4. einfügen. Hier ist der Code .. Wenn ich es ausführe, bekomme ich weder Fehler noch Ausgabe. Was habe ich falsch gemacht ? Danke im Voraus.C - Einfügung der verknüpften Liste
#include <stdio.h>
#include <stdlib.h>
typedef struct node{
int data;
struct node *next;
}node;
int main(void) {
struct node *root, *newElement, *temp;
// first node is created.
root = (node*)malloc(sizeof(node));
root->data = 11;
// to create 4 nodes more after the first one is created.
int i;
for (i=0; i <= 3; i++){
root->next = (node*)malloc(sizeof(node));
root = root->next;
root->data = (i * 10);
}
// new node to insert.
newElement = (node*)malloc(sizeof(node));
newElement-> data = 1;
temp = (node*)malloc(sizeof(node));
temp = root->next->next;
root->next -> next = newElement;
newElement->next = temp;
// print the values
int j;
for(j=0; j<=4; j++){
root = root->next;
printf("%d\n", root->data);
}
return 0;
}
Ihre Schnur Einsatz zwischen 2. und 3.. – BLUEPIXY
1) Die Operation kann nicht erneut eingefügt werden. und Sie können die Liste nicht freigeben. 2) Kann im letzten Element nicht erkannt werden. 3) Es verursacht ein Speicherleck. – BLUEPIXY
Der Weg zu zeigen, dass Ihre Frage beantwortet wurde, ist eine Antwort zu akzeptieren. Bitte fügen Sie die Antwort nicht in die Frage ein, und fügen Sie dem Titel bitte nicht das Wort "Gelöst" hinzu. Wenn keine der vorhandenen Antworten Ihr Problem gelöst hat, können Sie Ihre eigene Antwort posten und akzeptieren. –