typedef struct ListNode {

int data;

struct ListNode *link;

} ListNode;


typedef struct ListHeader {

int length;

ListNode *rlink;

ListNode *llink;

} ListHeader;


// 초기화함수

void init(ListHeader *plist)

{

plist->length = 0;

plist->rlink = plist->llink = NULL;

}

// plist는연결리스트의헤더를가리키는포인터

void insert_node_last(ListHeader *plist, int data)

{

ListNode *temp = (ListNode *)malloc(sizeof(ListNode));

if( temp == NULL ){

fprintf(stderr,"메모리할당에러 ");

exit(1);

}

temp->>

temp->link=NULL;

if( plist->llink == NULL ){

plist->rlink = plist->llink = temp;

}

else {

plist->llink->link = temp;

plist->llink = temp;

}

plist->length++;

}

///

void dlistAlternate(ListHeader *plist1,ListHeader *plist2,ListHeader *plist3)

{

//구현 1. 두 이중 연결리스트의 오름 차순 비교, 정렬 병합 이중 연결리스트를 작성하시오.



  


}


지금 못 풀어서 자살 생각 중이다.