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

블로그 메뉴

  • 홈

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
mini_me

우당탕탕 코드 프로젝트

자료구조

[자료구조]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
    '자료구조' 카테고리의 다른 글
    • [자료구조] 연결리스트- 변형된 원형 연결리스트
    • [자료구조]04. 연결리스트 - 연결리스트의 응용 (다항식)
    • [자료구조]03. 연결 리스트-자료구조
    • [자료구조]01. 알고리즘의 성능분석 방법 - 시간복잡도 / 공간복잡도
    mini_me
    mini_me

    티스토리툴바