이거 신기하네... 원형 연결리스트 질문!!
차미
질문 제목 : 너무 궁금해서 질문드려요 원형 연결리스트갑자기 확 바뀌는건지 제가 모르는건지 모르겠지만 이것좀 봐주세요.
제일 윗 그림에서의 상황은 phead가 10-10-10- 이렇게 가고 있는 상황이고요.
node는 20-10-10-10- 이 상황인데
갑자기 phead는 10-20-10-20-으로 바뀌고
node는 20-10-20-10 이렇게 바뀌었어요.... 원형이라 그렇다고 하지만은 프로그램적으로 어떻게 돌아가는지 모르겠네요...질문 내용 :왜 바뀌는지 그림으로 그려주시면 정말 감사하겠습니다. 자료구조 하면서 그림공부 많이 하고 있어요 ㅜㅜ
#includestdio.h
#includestdlib.h
typedef int element;
typedef struct listnode {
element data;
struct listnode *link;
} listnode;
void error(char *message)
{
fprintf(stderr,%s\n,message);
exit(1);
}
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 display(listnode *head)
{
listnode *p;
if(head == null) return;
p = head;
do {
printf(%d-,p-data);
p = p-link;
} while(p != head);
}
void insert_first(listnode **phead, listnode *node)
{
if(*phead == null) {
*phead = node;
node-link = node;
}
else {
node-link = (*phead)-link;
(*phead)-link = node;
}
}
void insert_last(listnode **phead, listnode *node)
{
if(*phead == null) {
*phead = node;
node-link = node;
}
else {
node-link = (*phead)-link;
(*phead)-link = node;
*phead = node;
}
}
void main()
{
listnode *list1 = null;
// list1 = 20-10-30
insert_first(&list1, create_node(10, null));
insert_first(&list1, create_node(20, null));
insert_last(&list1, create_node(30, null));
display(list1);
}
-
여울가녘
d8gearz님 네이트온 있으신가요? 모르는거 있으면 질문드리고 싶은데 괜찮으신지요?
-
심플포텐
약간 그런가? 싶은 느낌은 나는데요 한번 해봐야겠습니다 ㅎ 좋은 팁 감사합니다.d8gearz님
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2697401 | 열혈강의 문제오류 (1) | 꿈 | 2025-06-07 |
2697374 | 기초적인 C언어 프로그래밍 입니다. | 얼 | 2025-06-07 |
2697341 | 좌우대칭 문제인데 Q가 입력되면 종료가 되야하는데 되지않습니다 | 무지개 | 2025-06-07 |
2697314 | fprintf와 fscanf 로 파일 입출력 할떄 | 밝음이 | 2025-06-06 |
2697293 | 툴 소스 뽑아내는법 | 도움 | 2025-06-06 |
2697264 | 소소한거 두어가지 질문할께요~ (8) | 별솔 | 2025-06-06 |
2697235 | scanf로 인풋 받을 때?! | 보담 | 2025-06-06 |
2697207 | 열혈강의 연습문제 질문이요~ (2) | 맥적다 | 2025-06-05 |
2697182 | strcmp, strtok - 어떤 기능을 하는지... | 루다 | 2025-06-05 |
2697129 | [질문] 아래 저축액을 계산하는 프로그램 ㅠ 추가 질문 (7) | 찬늘 | 2025-06-05 |
2697072 | 쌩초보 질문! (1) | 얀 | 2025-06-04 |
2697050 | 도움부탁드립니다.. | 화이트 | 2025-06-04 |
2697023 | gotoxy함수, 어떻게 사용하죠? (3) | 적송 | 2025-06-04 |
2696994 | c언어를 막 시작한 초보인데 질문이 있어용 ㅠㅠ (2) | 귀1여운렩 | 2025-06-03 |
2696944 | 윈도우 콘솔프로그램 질문드립니다 (2) | 꽃님이 | 2025-06-03 |
2696882 | c언어 입력받기 질문 입니다 (2) | 흰추위 | 2025-06-02 |
2696853 | 문자열은 정적메모리에 할당된다고 하는데 정적메모리가 뭡니까?? (6) | 다온 | 2025-06-02 |
2696799 | c c++언어입문전에 파이톤이나 자바스크립트배워두면.. (2) | 앨런 | 2025-06-02 |
2696747 | size of 연산자에 대해 질문이 있습니다. (3) | 유진공주 | 2025-06-01 |
2696721 | Char 타입의 2D array 기초에 대해 질문드립니다. | 벚꽃 | 2025-06-01 |