C언어 이중 연결 관련 질문합니다.
라일락
#include stdio.h
#include stdlib.h
typedef struct poo{
struct poo* llink;
int data;
struct poo* rlink;
}List;List *createNode()
{
List *L;
L=(List *)malloc(sizeof(List));
L-llink=NULL;
L-rlink=NULL;
return L;
}
void raddNode(List *L, int data) // 오른쪽
{
List *p,*n;
n=createNode();
n-data=data;
p=L;
while(p-rlink!=L-rlink){
p=p-rlink;
}
p-rlink=n;
}
void laddNode(List* L, int data) //왼쪽
{
List *p,n;
n=createNode();
n-data=data;
p=L-llink;
while(p-llink != NULL)
{
p=p-llink;
}
p-llink=n;
}
//오른쪽
void rprintNode(List* L)
{
List* p;
p=L-rlink;
while(p-rlink != NULL){
p=p-rlink;
printf(%5d, p-data);
} printf(\n);
}
//왼쪽
void lprintNode(List* L)
{
List *p;
p=L-llink;
while(p-llink != NULL)
{
p=p-llink;
printf(%5d,p-data);
}printf(\n);
}
int main(int argc, char *argv[])
{
ListNode *L;
L=createNode();
for(i=1; i3; i++)
{
raddNode(L,i);
laddNode(L,i);
}
rprintNode(L);
lprintNode(L);
system(PAUSE);
return 0;
}-질문 내용 -소스는 위에 있습니다.재가 원하는것은 구조체 하나를 이용해서 오른쪽 3 2 1
왼쪽 1 2 3 여렇게 출력되는것입니다. 이중 연결을 이용해서 해야돼구요..저기에서 뭐가 잘못되었느지.. ㅠㅠ 컴파일 하면 출력이 안되네요