Я понимаю общую концепцию преемника в BST. Все еще есть что-то не так с моим кодом, и я не понимаю, в чем проблема.BST, преемник, код выпуска
Компилятор запускает программу, которая начинается и заканчивается через пару секунд. Я считаю, что это ошибка типа «segmentation fault» (я использую Windows и Dev C++).
#include <stdio.h>
#include <stdlib.h>
struct Node{
int data;
struct Node* next;
};
struct Node* head;
struct Node* GetNewNode(int x){
struct Node* newNode= (struct Node*)malloc(sizeof(struct Node));
newNode->data = x;
newNode->next =NULL;
return newNode;
}
void InsertAtHead(int x){
struct Node* newNode = GetNewNode(x);
if(head==NULL){
head=newNode;
return;}
newNode->next=head;
head=newNode;
}
void Print(){
struct Node* temp=head;
printf("forward:");
while(temp!=NULL){
printf("%d", temp->data);
temp = temp->next;
}
printf("\n");
}
void ReversePrint(struct Node* p){
if(p==NULL){
return;
}
ReversePrint(p->next);
printf("%d",p->data);
}
int main(void){
head=NULL;
InsertAtHead(2); Print(); ReversePrint(2);
InsertAtHead(4); Print(); ReversePrint(4);
InsertAtHead(6); Print(); ReversePrint(6);
}
Что это за 'ReversePrint (2)'? –
Если у вас есть сообщение об ошибке, сообщите сообщение об ошибке __exact__. То, что вы считаете, может быть неточным. –
выполните с помощью отладчика – pm100