본문 바로가기

리스트

(3)
[자료구조] 6. 리스트(List)3 - 원형 연결 리스트 / 이중 연결 리스트 더보기 원형 연결 리스트와 이중 연결 리스트란? 6.1 원형 연결 리스트 1) 원형 연결 리스트란? 2) 노드 정의link가 가리키도록 원형 연결 리스트를 조금 변형하면 원형 연결 리스트를 더 효율적으로 사용할 수 있다. 2) 노드 정의 단순 연결 리스트에서의 노드 정의와 동일하다. // 노드 정의 typedef int element; //노드에 저장할 요소의 자료형 typedef struct ListNode { // 노드 정의 element data; struct ListNode* link; }ListNode 3) 원형 연결 리스트 연산 구현 [원형 리스트의 처음에 삽입] 새롭게 삽입할 노드의 링크인 node->link가 기존의 첫 번째 노드를 가리키게 하고, 마지막 노드의 링크는 삽입한 노드를 가리키..
[자료구조] 5. 리스트(List)2 - 단순 연결 리스트 구현 더보기 단순 열결 리스트란? 5.1 단순 연결 리스트 구현 1) 노드의 정의 2) 단순 연결 리스트 생성 3) 노드의 생성 4) 노드의 연결 5.2 단순 연결 리스트 연산 구현 1) 삽입 연산 2) 삭제 연산 3) 방문 연산 4) 기타 연산 5) 연결 리스트 연산 예시 단순 연결 리스트 : 하나의 방향으로만 연결 되어 있는 연결 리스트. 단순 연결 리스트에서는 노드들이 하나의 링크 필드를 가지며 마지막 링크 필드의 값은 NULL이 된다. 5.1 단순 연결 리스트 구현 1) 노드의 정의 노드는 자기 참조 구조체를 이용하여 정의된다. * 자기 참조 구조체 : 자기 자신을 참조하는 포인터를 포함하는 구조체 // [노드의 정의] typedef int element; typedef struct ListNode {..
[자료구조] 4. 리스트(List)1 - 리스트ADT / 순차 리스트와 연결 리스트 / 순차 리스트 구현 더보기 리스트란?, 리스트의 특징 4.1 리스트의 ADT 4.2 리스트의 구현 방법 4.3 순차 리스트 구현 1) 순차 리스트의 정의 2) 순차 리스트 기초 연산 3) 항목 추가 연산 4) 항목 삭제 연산 4.4 연결 리스트 1) 연결 리스트의 구조 2) 연결 리스트의 종류 리스트에는 데이터들이 차례대로 나란히 저장되어 있다. [리스트의 특징] 리스트의 항목들은 순서 또는 위치를 가진다. 중복된 데이터의 저장을 막지 않는다. 4.1 리스트의 ADT [리스트의 ADT] ◾ 객체 : n개의 요소들로 구성된 순서 있는 모임. ◾ 연산 : 리스트를 초기화한다. 특정 위치에 요소를 추가한다. 맨 처음 위치에 요소를 추가한다. 맨 끝 위치에 요소를 추가한다. 특정 위치의 요소를 제거한다. 리스트의 모든 요소를 제거..