자료구조
[자료구조] 단순 연결 리스트의 삽입과 삭제
김아잉
2024. 6. 13. 10:14
728x90
• 자료삽입
(1) 먼저 새로운 노드(B)를 생성하여 노드의 데이터 영역에 자료를 저장
(2) 새로 생성된 노드(B)의 포인터 영역이 후속 노드(C)를 가리키게 함
(3) 선행 노드(A)의 포인터 영역이 새로 생성된 노드(B)를 가리키게 함
(4) 이전 노드(A)아 후속 노드(C) 사이에 새로운 노드(B)가 삽입됨
• 자료삭제
(1) 먼저 삭제하고자 하는 노드(B)의 이전 노드(A) 포인터 영역이 삭제하고자 하는
(B)의 바로 다음 노드(C)를 가리키게 함
(2) 선행 노드(A)의 포인터 영역이 삭제할 노드(B)의 후속 노드(C)와 연결됨
(3) 노드(B)의 삭제가 완료됨
문제)
1) D와 n 사이에 newNode(주소:2)인 값 a를 삽입하고자 할 때,
포인터 영역(next)의 변화 과정을 한글과 코드로 기술하시오.
풀이보기
더보기
(0) curNode의 현 위치는 D
(1) newNode -> next의 주소를 curNode -> next의 주소 60으로 할당
(2) curNode -> next를 newNode의 주소 2로 할당
newNode->next=curNode->next;
curNode->next=newNode;
2) 단순 연결 리스트가장 마지막 노드 뒤에 newNode(값: k)를
추가하고자 할 때, 빈칸에 들어갈 코드는?
while(curNode->next!=NULL){
_____________;
}
_____________;
풀이보기
더보기
while(curNode->next!=NULL){
curNode=curNode->next;
}
curNode->next=newNode;
728x90