단순 연결 리스트 질문이요..
보예
질문 제목 : 단순연결리스트이상하게 컴파일시 오류나 에러가 안뜨고 링킹과정까지는 무사히 다 마치는데
실행이 안되네요.. ㅠㅠㅠ 왜그런거죠???질문 내용 :
#include stdio.h
#include stdlib.h
typedef int element;
typedef struct listnode {
element data;
struct listnode *link;
} listnode;
void insert_node(listnode **phead, listnode *p, listnode *new_node)
{
if(*phead == null){
new_node-link = null;
*phead = new_node;
}
else if(p == null){
new_node-link = *phead;
*phead = new_node;
}
else{
new_node-link = p-link;
}
}
void remove_node(listnode **phead, listnode *p, listnode *removed)
{
if(p==null)
*phead = (*phead)-link;
else
p-link = removed-link;
free(removed);
}
void display(listnode *head)
{
listnode *p=head;
while(p!=null){
printf(%d-, p-data);
p = p-link;
}
printf(\n);
}
listnode *search(listnode *head, int x)
{
listnode *p;
p = head;
while(p !=null){
if(p-data==x) return p;
p = p-link;
}
return p;
}
listnode *create_node(element data, listnode *link)
{
listnode *new_node;
new_node = (listnode *)malloc(sizeof(listnode));
if(new_node = null) printf(메모리 할당 에러);
new_node-data = data;
new_node-link = link;
return(new_node);}
void main()
{
listnode *list1=null, *list2=null;
listnode *p;
insert_node(&list1, null, create_node(10, null));
insert_node(&list1, null, create_node(20, null));
insert_node(&list1, null, create_node(30, null));
display(list1);
remove_node(&list1, null, list1);
display(list1);
p=search(list1, 20);
printf(탐색성공: %d\n, p-data);
}