Hi,
I made a couple of functions using linked lists and I keep getting Segmentation fault error. can someone tell me why I am getting this error.
My code is:
Code:
#include <stdio.h>
#include<stdlib.h>
typedef struct nodeTag{
int value;
struct nodeTag*link;
}Node;
//Inserting Last
Node *insertNode(Node*head,int value){
Node*newNode=(Node*)malloc(sizeof(Node));
newNode->value=value;
newNode->link=NULL;
if(!head){ head=newNode;}
else{
Node*temp=head;
while(temp->link){
temp=temp->link;
temp->link=newNode;
}
}
return newNode;
}
//Printing the list Contents
void printList(Node *head){
Node*temp=head;
while(temp){
printf("%d",temp->value);
temp=temp->link;
}
}
//Inserting in the First
Node* insertFirst(Node*head,int value){
Node*newNode=(Node*)malloc(sizeof(Node));
newNode->value=value;
newNode->link=head;
head=newNode;
return head;
}
Node*insertSorted(Node*head,int value){
Node* newNode=(Node*)malloc(sizeof(Node));
if(head&&(head->value>value)){
head=insertFirst(head,value);
}
else{
newNode->value=value;
newNode->link=NULL;
}
if(!head){
head=newNode;
}
else{
Node*temp=head;
while((temp->link)&&(temp->link->value<value))
temp=temp->link;
newNode->link=temp->link;
temp->link=newNode;
}
}
int main()
{
Node*list;
//Inserting Last
list=insertNode(list,10);
list=insertNode(list,15);
list=insertNode(list,5);
//Inserting First
list=insertFirst(list,10);
list=insertFirst(list,5);
list=insertFirst(list,15);
//Inserting sorted
list=insertSorted(list,77);
list=insertSorted(list,200);
list=insertSorted(list,55);
printList(list);
}