원형리스트관련질문입니다
솔관
2023.04.01
학교수업에서 원형리스트에서 처음에 삽입하는 함수를 공부하고있습니다void insert_first(ListNode **phead, ListNode *node){if(*phead == NULL){*phead = node;node-link=node;}else{node-link = (*phead)-link;(*phead)-link=node;}}2번째부터 3번째까진 리스트에 node 가 없는 경우 node 추가하는것과else 문에서 그게 아니며 리스트에 node 가 있다 이렇게 까지 어느정도는 이해를 하고 있습니다여기서 마지막에 삽입하는걸 또 설명을 들었는데 여기선 또 잘 이해가 가지 않더라구요뭔가 복잡하기도 하고위에꺼에서 else 문에서만node-link=(*phead)-link;(*phead)-link = node;*phead = node;이렇게 바뀌더라구요그런데 이다음에 또 마지막에 삽입이아니라 삭제를 하는 알고리즘 구현하는것을 해보라던데여기서부터그냥 패닉에 빠져 잘이해가가질않네요결론은 delete_last 로 원형 연결 리스트에서 마지막부분을 삭제 하려고 하는 알고리즘 구현을 잘 못하곘네요 ㅜ가르켜주심 감사하겠습니다