erstellt habe, umkehren? Ich habe eine verkettete Liste erstellt, konnte aber nicht daran denken, sie umzukehren. Ich kenne den Algo, aber ich denke, ich habe einen Fehler bei der Erstellung der Liste gemacht. Was könnte die Umkehrfunktion sein, damit es funktioniert? Im Folgenden finden Sie den Code ein:Wie kann ich die Linkliste, die ich in C
typedef struct Node{
int data;
struct Node* next;
} node;
node* head;
int count;
void insertAtBegin(int value){
if(head==NULL){
head = (node*)malloc(sizeof(node));
head->data = 0;
head->next = NULL;
}
node* newNode = (node*)malloc(sizeof(node));
newNode->data = value;
newNode->next = head->next;
head->next = newNode;
count++;
}
void display(){
node* temp = (node*)malloc(sizeof(node));
temp = head;
while(temp->next!=NULL){
printf("%d\t",temp->next->data);
temp = temp->next;
}
printf("\n");
}
void reverse(){
node *p, *q, *r;
p = q = r = head;
p = p->next->next;
q = q->next;
r->next = NULL;
q->next = r;
while (p != NULL){
r = q;
q = p;
p = p->next;
q->next = r;
}
head = q;
}
void main(){
insertAtBegin(5);
insertAtBegin(6);
display();
reverse();
display();
printf("\nSize of linked list is %d",count);
}
'Knoten * Temp = (Knoten *) malloc (sizeof (Knoten)); temp = head; 'ist ein Speicherleck. Warum weisen Sie einen Knoten zu, wenn Sie ihn anzeigen möchten? – mch
Starten Sie die Codierung selbst und stellen Sie dann Fragen, wenn Sie Schwierigkeiten haben. –
@mch ok ich hatte nicht die idee..danke aber das würde wohl mein problem nicht lösen ... –