링크드리스트 이용해서 원래 섞여서 연결된 링크드리스트를
홀수는 홀수끼리 짝수는 짝수끼리 다시 연결시키는 건데
#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;
}
}
여기까지 하고 도저히 못하겠어요 제발 도와주세요 ㅠㅠ
while,if,%2