본문 바로가기

컴퓨터 공학/자료구조와 알고리즘

이중연결리스트 (Double Linked List) 사용법 (ft. 데이터 삭제하기)

728x90
반응형

이중연결리스트 (Double Linked List) 사용법 (ft. 데이터 삭제하기)

 

 

안녕하세요.

 

로스윗의 코딩캠프입니다.

 

오늘은 리스트 자료구조 중에서도

 

특히 이중 연결 리스트(Double Linked List)의 데이터 삭제하기에 대해

 

같이 알아보겠습니다.

 

 

 

 

- 이중연결리스트 데이터 삭제하기

이중 연결 리스트에서 인덱스를 통한 데이터 삭제하기 연산에 대해 알아봅시다.

 

인덱스로 들어오는 과정은 앞선 포스팅에서 말씀드린 것처럼 동일합니다.

 

절반을 기준으로 헤드와 테일의 가까운쪽에서 부터 찾아와 들어옵니다.

 

그렇게 인덱스를 찾아들어와서 

 

이번에는 아래그림에서 이 초록색 node가 우리가 삭제해야 할 노드라고 생각해봅시다.

 

 

 

이중연결리스트 데이터 모습
이중연결리스트 데이터 모습



그럼 이제 우리가 삭제 할 이 초록색 node를 기준으로

 

prev노드와 다음 노드인 next노드를 연결 해주는 작업을 할거에요.


그래서 prev의 next는 curr이 아니라 next를 가리키게 되고


next노드는 prev로 curr을 가리키는게 아니라 curr의 prev를 가리키도록 바꿔줍니다.


그래서 화살표를 이렇게 이렇게 연결시켜주는거죠. 

 

 

 

이중연결리스트 포인트 작업하기
이중연결리스트 포인트 작업하기

 


그렇게 하고나서 마찬가지로 기존의 curr에서 연결되고 있던 연결들은 모두 끊어주게 됩니다.


그러면 결과적으로 prev와 next가 바로 연결되는 모양이 나오겠죠.

 

 

 

이중연결리스트 포인트 연결이 끊어진 모습

 


이 이중연결리스트(DoubleLinkedList)에서는 prev와 next의 연결을 맺어주는게 핵심 포인트입니다.


이 부분이 이해가 안가신다면 포스팅을 다시 한 번 보면서 prev와 next의 연결이 어떻게 맺어지는지


다시 한 번 이해해보시길 바랍니다.

 

 

초록색 노드를 삭제한 모습
초록색 노드를 삭제한 모습

 

 

 

로스윗의 코딩캠프는 미래의 개발자 여러분을 응원합니다.

 

모두 화이팅!!

 

참고 포스팅: 이중연결리스트 데이터 추가하기, 이중연결리스트 데이터 검색하기

 

이중연결리스트 (Double Linked List) 사용법 (ft. 데이터 추가하기)

 

이중연결리스트 (Double Linked List) 사용법 (ft. 데이터 추가하기)

이중연결리스트 (Double Linked List) 사용법 (ft. 데이터 추가하기) 안녕하세요. 로스윗의 코딩캠프입니다. 오늘은 리스트 자료구조 중에서도 특히 이중 연결 리스트(Double Linked List)의 사용법에 대해

rosweet-ai.tistory.com

이중연결리스트 (Double Linked List) 사용법 (ft. 데이터 검색하기)

 

이중 연결 리스트(Double Linked List) 구현 및 사용방법

이중 연결 리스트(Double Linked List) 구현 및 사용방법 안녕하세요. 로스윗의 코딩캠프입니다. 오늘은 리스트 자료구조 중에서도 특히 이중 연결 리스트(Double Linked List)의 구현 및 사용방법과 데이

rosweet-ai.tistory.com

 

728x90
반응형