연결리스트 중간에 노드 삽입요.ㅠ.ㅠ
채꽃
■ 중간 노드로 삽입하기
리스트L의 중간에 노드를 삽입하기 위해서는 삽입할 위치의 앞에 있는 선행자 노드를
나타내는 포인터 pre가 필요하다. 다음의 알고리즘은 리스트 L에서 포인터 변수 pre가
가리키고 있는 노드의 다음에 데이터 필드값이 x인 새노드를 삽입하는 알고리즘이다.
inserMiddleNode (L, pre, x)
new ← getNode();
new.date ← x;
if (L=null) then { // 1
L ← new; // 1-a
new.link ← null; // 1-b
}
{
else { // 2
new.link ← pre.link; // 2-a
pre.link ← new; // 2-b
}
end insertMiddleNode()
=========================================================
1 에서와 같이 리스트L이 공백 리스트인 경우에 수행할 연산이다.
1-a 리스트 포인터 L에 새 노드 new의 주소를 저장하여 새 노드 new가 리스트인 첫 번째 노드가 되도록 한다.
1-b 공백 리스트L에 새노드를 삽입하였으므로 새 노드 new는 리스트의 마지막 노드가 된다.
따라서 새 노드 new의 링크 필드에 null을 저장하여 마지막 노드임을 표시한다
2 과 같이 리스트 L이 공백 리스트가 아닌 경우에는 일반적인 노드 삽입 연산을 수행한다.
2-a 포인터 pre가 가르키는 노드의 다음 노드로 새 노드 new를 연결해야 하므로 노드 pre의 링크 필드값을 노드new의 링크 필드에 저장하여 새 노드 new가 노드pre의 다음 노드를 가르키도록 한다.
2-b 포인터 new의 값을 노드 pre의 링크 필드에 저장하여 노드 pre가 새 노드 new를 다음 노드로 가르키도록 한다.이것이 책에 있는 것인데요
노드 생성 삭제 등은 알겠는데 중간노드 위에 알고리즘을 함수로 구현한게 없네요.ㅠ.ㅠ
지금 이거 가지고 6시간째 찾아보고 책 뒤져보는데.ㅠㅠ 다른 책도 마찬가지.ㅠ.ㅠ
노드 삽입도 마지막에만 나와 있는것만 인터넷에 있더라구요.ㅠㅠ
혹시 아시는분 있으시면 가르쳐 주세요.ㅠ.ㅠ
위에 알고리즘을 함수 구현요..ㅠ.ㅠ
-
희라
노드의 구성이 pre , data, next(link)로 되어있죠.
[p-pre] - [p] - [p-link] 이런 구조에서 p의 자리에 넣는다면
p-pre는 현재 넣을 new의 값이 들어가야하고 p-link는 고정
new-pre는 p-pre값, new-link는 p의 값이 들어가야하죠.
가만히 생각해보면 쉽답니다.
1. 중간에 넣는다면 pre에는 무엇이 들어갈까요? 넣을 위치의 이전 링크를 넣겟죠?
new-pre = p-link;
2. link에는
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2701123 | 간단한 select 질문입니다 (3) | 천사의눈물 | 2025-07-11 |
2701061 | 비베질문.. | 똘끼 | 2025-07-10 |
2701034 | 메일폼 내 script 삽입가능한 방법 없을까요.. (2) | 마음새 | 2025-07-10 |
2701008 | 분명히 버튼을 만들었는데 액션이 안걸립니다. (3) | 재찬 | 2025-07-10 |
2700923 | 전체중앙정렬&독타입&쿼크모드 ㅜㅠ (8) | 푸른들 | 2025-07-09 |
2700893 | 질문드리겠습니다. | 도도한 | 2025-07-09 |
2700793 | 무비클립에 마우스 오버시 랜덤으로 효과음 나기는 어떻게 ;; (1) | 바닐라 | 2025-07-08 |
2700741 | 웹전송? (2) | 연와인 | 2025-07-07 |
2700686 | 카테고리 호버시 세부카테고리 보이게하는 것, css로만 가능할까요?? (3) | 다힘 | 2025-07-07 |
2700658 | 메타태그 질문드립니다..ㅠㅠ;;; | 모해 | 2025-07-07 |
2700632 | 외부에서 이미지 파일을 불러와야 합니다. 도와주세요. (4) | 에일린 | 2025-07-06 |
2700579 | (air + as3) smtp 이용해서 첨부파일 포함해서 메일 보내기 | 물보라 | 2025-07-06 |
2700524 | 클릭시 밑에 메뉴 나오게 (4) | 새솔 | 2025-07-05 |
2700505 | activex를 비쥬얼6.0으로 만들었는데요 비스타 배포시에 안되서 질문드립니다 (3) | 참이 | 2025-07-05 |
2700452 | c언어에서... 자료형 구분.... (3) | 시내 | 2025-07-05 |
2700422 | 버전에 관해 질문 | 라온제나 | 2025-07-04 |
2700393 | mysql이 갑자기!!!!!!!!!!!!!!!에러가;; (2) | 소미 | 2025-07-04 |
2700359 | 3.0 ) SimpleButton 상태 강제 변경 (3) | 희선 | 2025-07-04 |
2700304 | ie8 전용핵 문의 (3) | 여자 | 2025-07-03 |
2700281 | 이런경우 어떻게 코딩해야 표준에 따르는건가요? (6) | 늘솜 | 2025-07-03 |