I dont know why i am getting SIGSEGV, can you please look at my code. (I'm new with pointers).
include
include
using namespace std;
struct node{
long int vrednost;
node* levo;
node* desno;
};
node* insert(node* koren, long int element){
if (koren == NULL){
koren = new node();
koren->vrednost = element;
koren->levo = NULL;
koren->desno = NULL;
}
else if (element <= koren->vrednost){
koren->levo = insert(koren->levo, element);
}
else{
koren->desno = insert(koren->desno, element);
}
return koren;
}
long int max(node* koren){
while (koren->desno != NULL){
koren = koren->desno;
}
return koren->vrednost;
}
node* trazi(node* koren, long int element){
if (koren->vrednost == element){
delete koren;
}
else if (element <= koren->vrednost){
koren->levo=trazi(koren->levo, element);
}
else{
koren->desno=trazi(koren->desno, element);
}
return koren;
}
int main()
{
node* koren;
long int Q, i, j,t,broj, poslednji;
char komanda[3];
scanf("%i",&t);
for (j = 1; j <= t; j++){
printf("Case %i:\n",j);
scanf("%i",&Q);
koren = NULL;
for (i = 0; i < Q; i++){
scanf("%s",&komanda);
if (komanda[0] == 'A'){
scanf("%i",&broj);
koren = insert(koren, broj);
poslednji = broj;
}
else if (komanda[0] == 'R'){
if (koren != NULL){
koren = trazi(koren, poslednji);
}
}
else{
if (koren == NULL){
printf("Empty\n");
}
else{
printf("%i\n",max(koren));
}
}
}
}
return 0;
}