수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

연결리스트 중간에 노드 삽입요.ㅠ.ㅠ

채꽃

2023.04.01

■ 중간 노드로 삽입하기
리스트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시간째 찾아보고 책 뒤져보는데.ㅠㅠ 다른 책도 마찬가지.ㅠ.ㅠ
노드 삽입도 마지막에만 나와 있는것만 인터넷에 있더라구요.ㅠㅠ

혹시 아시는분 있으시면 가르쳐 주세요.ㅠ.ㅠ
위에 알고리즘을 함수 구현요..ㅠ.ㅠ

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 희라

    노드의 구성이 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
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com