mini_me
우당탕탕 코드 프로젝트
mini_me
전체 방문자
오늘
어제
  • 분류 전체보기 (30)
    • 알고리즘 (4)
    • 자료구조 (5)
    • 운영체제 ( OS ) (7)
    • JSP (6)
    • 스프링 (5)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • load teet
  • 알고리즘
  • 그리디 알고리즘
  • K6
  • dockerhub
  • spanning tree
  • Database 생성 및 권한
  • smoke test
  • 그래프 알고리즘
  • 자동화
  • Clone Graph
  • 디렉티브 태그
  • 자바스크립트
  • #연결리스트 #자료구조 #연결 리스트 #전공 공부
  • trie
  • jenkins
  • leetcode
  • docker
  • grafana
  • 백엔드
  • mst
  • Oracle Cloud
  • 데이터 모델링
  • ci/cd
  • Greedy Algorithm
  • 부하테스트
  • 연결리스트 # 열혈 자료구조 #자료구조
  • influxdb
  • graph algorithm
  • SQLD

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
mini_me
자료구조

[자료구조]04.연결리스트 (2)- 단순 연결

자료구조

[자료구조]04.연결리스트 (2)- 단순 연결

2021. 1. 25. 20:44

단순 연결리스트의 ADT/ 구현

 새 노드를 추가할 때, 리스트의 머리와 꼬리 중 어디에 저장할 것인가?

머리에 추가한 경우 : tail 이 불필요, 저장된 순서 유지 불가

꼬리에 추가 : 저장된 순서 유지가능, tail이 필요함

 

문제 04-02

더미 노드를 적용했을 떄의 코드 변화를 확인하기

작성한 코드

head = (Node*)malloc(sizeof(Node));// 더미 노드 추가
	tail = head;//

정렬 기능이 추가된 연결 리스트의 구조체와 헤더파일의 정의

연결리스트의 구현에서는 노드를 표현한 구조체의 정의는 빠지지 않는다.

typedef struct_node
{
LData data;
struct_node*next;
} Node;

연결리스트의 구현에 필요한 변수들을 어찌 됐든 전역변수로 선언해서는 안된다.

리스트 자료구조도 하나만 사용되는 법이 없기에 다수의 리스트가 필요한 상황에서

head, cur 같은 포인터 변수를 전역변수로 선언할 경우 여러개의 리스트 세트를 생성해야 하는 불상사가 발생한다.

따라서 포인터변수는 연결 리스트를 의미하는 구조체를 별도로 정의해야 한다.

 

 

반응형

'자료구조' 카테고리의 다른 글

[자료구조] 연결리스트- 변형된 원형 연결리스트  (0) 2021.02.02
[자료구조]04. 연결리스트 - 연결리스트의 응용 (다항식)  (0) 2021.01.26
[자료구조]03. 연결 리스트-자료구조  (0) 2021.01.20
[자료구조]01. 알고리즘의 성능분석 방법 - 시간복잡도 / 공간복잡도  (2) 2021.01.13
  • 단순 연결리스트의 ADT/ 구현
  • 정렬 기능이 추가된 연결 리스트의 구조체와 헤더파일의 정의
  •  
'자료구조' 카테고리의 다른 글
  • [자료구조] 연결리스트- 변형된 원형 연결리스트
  • [자료구조]04. 연결리스트 - 연결리스트의 응용 (다항식)
  • [자료구조]03. 연결 리스트-자료구조
  • [자료구조]01. 알고리즘의 성능분석 방법 - 시간복잡도 / 공간복잡도
mini_me
mini_me

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.