링크드리스트 이용해서 원래 섞여서 연결된 링크드리스트를 


홀수는 홀수끼리 짝수는 짝수끼리 다시 연결시키는 건데 


#include <stdio.h>


typedef int element;

typedef struct ListNode{

element data;

struct ListNode* link;

}ListNode;


ListNode *create_node(element date, ListNode *link);


void insert_node(ListNode **phead, ListNode *p, ListNode *new_node);



int main(void)

{

LinkNode *head = NULL;


ListNode *node1 = create_node(3, Null);

ListNode *node2 = create_node(2, Null);

ListNode *node3 = create_node(7, Null);

ListNode *node4 = create_node(1, Null);

ListNode *node5 = create_node(14, Null);

ListNode *node6 = create_node(6, Null);

ListNode *node7 = create_node(9, Null);


insert_node(&head, NULL, node1);

insert_node(&head, node1, node2);

insert_node(&head, node2 node3);

insert_node(&head, node3, node4);

insert_node(&head, node4, node5);

insert_node(&head, node5, node6);

insert_node(&head, node6, node7);


}


ListNode *create_node(element date, ListNode *link)

{

ListNode *new_node;

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

if(new_node == NULL) error("메모리 할당 에러");

new_node->date = date;

new_node->link = link;

return(new_node);

}


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;

p->link = new_node;

}

}


여기까지 하고 도저히 못하겠어요 제발 도와주세요 ㅠㅠ