연결리스트 조언좀 해주실분..
파란
질문 제목 :
연결리스트 조언좀 해주실분..
연결리스트에서 노드의 값이 홀수이면 홀수끼리 묶고, 짝수이면 짝수끼리 묶도록 따로 연결리스트를 만들어야 하는데
제가 짜봤는데 되질 않네요.. 메인함수에서 while문을 고치면 될꺼 같은데 무엇이 잘못되었나요?
홀수 노드, 짝수 노드를 만들어 data값이 홀수이면 홀수 짝수이면 짝수 이렇게 나누었는데 실행하면 반응이 없네요..
질문 내용 :
#include stdio.h
#include malloc.h
#include stdlib.h
#include limits.h
typedef int element;
typedef struct ListNode {
element data;
struct ListNode *link;
} ListNode;void insert_node(ListNode **phead, ListNode *p,
ListNode *new_node) ;
ListNode *create_node(element data, ListNode *link);
void remove_node(ListNode **phead, ListNode *p, ListNode *removed);
void error(char *message);
void display(ListNode *head);// phead: 리스트의 헤드 포인터의 포인터
// p : 선행 노드
// 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 ){ // p가 NULL이면 첫번째 노드로 삽입
new_node-link = *phead;
*phead = new_node;
}
else { // p 다음에 삽입
new_node-link = p-link;
p-link = new_node;
}
}
ListNode *create_node(element data, ListNode *link)
{
ListNode *new_node;
new_node = (ListNode *) malloc(sizeof(ListNode));
if(new_node == NULL) error(메모리 할당 에러);
new_node-data = data;
new_node-link = link;
return(new_node);}
void remove_node(ListNode **phead, ListNode *p, ListNode *removed)
{
if( p == NULL )
*phead = (*phead)-link;
else
p-link = removed-link;
free(removed);
}
void error(char *message)
{
fprintf(stderr,%s\n,message);
exit(1);
}
// 주어진 위치에 데이터를 삽입한다.void display(ListNode *head)
{
ListNode *p = head;
while(p != NULL){
printf(%d , p-data);
p = p-link;
}
printf(\n);
}
//
int main()
{
int k;
ListNode *list1 = NULL;
ListNode *p = NULL ;
ListNode *even = NULL, *odd = NULL;
ListNode *temp1 = list1; insert_node(&list1,NULL ,create_node(10,NULL));
insert_node(&list1,NULL ,create_node(15,NULL));
insert_node(&list1,NULL ,create_node(17,NULL)); display(list1);
while(temp1 != NULL)
{
k = temp1-data % 2;
if(k)
{
odd-link = temp1;
odd = odd-link;
odd-link = NULL;
}
else
{
even-link = temp1;
even = even-link;
even-link = NULL;
} temp1 = temp1-link;
} display(odd);
display(even);
}
-
도래
wow
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |
2675356 | 2진수를 10진수로 바꾸려고 하는데 막히네요.. | 풀잎 | 2024-11-17 |
2675297 | Prity 비트 발생기 | 한란 | 2024-11-16 |
2675249 | C책 좀 추천해 주세요 (2) | 딸기우유 | 2024-11-16 |
2675193 | 연습문제 17-1 질문입니다. | 한별나라 | 2024-11-15 |
2675172 | 소스점 | 아이뻐 | 2024-11-15 |