본문 바로가기

반응형

연결리스트

★ 10. 연결 리스트를 이용한 스택 구현하기 연결 리스트를 이용한 스택 구현 전과 마찬가지로 각 기능별 함수로 구현되었습니다. // # 연결 리스트를 이용한 스택 ##include #include using namespace std;typedef int element; struct stackNode { element data; // # 다음 노드를 가리키는 포인터 변수 # stackNode *link; }; stackNode* top; // # 스택이 비어 있으면 true 아니면 false를 반환 # int isEmpty() { // # top 포인터가 NULL이면 스택이 비어 있는 것 # return (top == NULL); } // # 스택의 TOP에 원소를 삽입 # void push(element item) { // # 새로운 노드 공간을 .. 더보기
★ 7. 이중 연결 리스트 구현하기 - 이중 연결 리스트 - (이중 원형 연결리스트) 각 기능별로 함수로 구현이 된 이중 연결 리스트 예제 소스입니다."한번에 이해되는 C 자료구조" 책을 참조하였습니다. // # 이중 원형 연결 리스트에 원소 추가, 삽입하기 # #include #include using namespace std;typedef int element;struct tagListNode { tagListNode* leftLink; // # 왼쪽 노드를 가리키는 링크 필드 # element data; // # 노드를 구성하는 데이터 필드 # tagListNode* rightLink; // # 오른쪽 노드를 가리키는 링크 필드 # };// # 헤더의 정보를 저장할 구조체 선언 # struct tagListHead { tagListN.. 더보기
★ 5. 원형 연결 리스트 구현하기 - 원형 연결 리스트 - 각 기능별로 함수로 구현이 된 원형 연결 리스트 예제 소스입니다."한번에 이해되는 C 자료구조" 책을 참조하였습니다. // # 원형 연결 리스트에 원소 추가, 삽입하기 # #include #include using namespace std; typedef int element; struct tagListNode { // # 노드를 구성하는 데이터 필드 # element data; // # 다음 노드를 가리키는 링크 필드 # tagListNode* link; }; // # 헤더의 정보를 저장할 구조체 선언 # struct tagListHead{ tagListNode* head; }; // # 연결 리스트를 초기화하는 함수 # tagListHead* createLinkedListHe.. 더보기
★ 3. 선형 연결 리스트 구현하기[추가] 기존 선형 연결 리스트에서 좀 더 추가된 소스입니다. #include #include using namespace std;// # 노드 구조체 # struct tagListNode { int data; // # 노드를 구성하는 데이터 필드 # tagListNode* link; // # 다음 노드를 가리키는 링크 필드 # };// # 헤드 구조체 # struct tagListHead { tagListNode* head; };// # 리스트를 초기화 하는 함수 # tagListHead* createLinkedHeadList() { tagListHead* L; // # 헤더의 공간을 확보 # L = new tagListHead; L->head = NULL; return L; }// # 연결 리스트에 노드를 추.. 더보기
★ 2. 선형 연결 리스트 구현하기 선형 연결 리스트 구현 기능별로 함수로 나누어서 구현하였습니다.출처는 대학 교재로 사용하던 "한번에 이해되는 C 자료구조" 책을 보면서..#include #include using namespace std;// # 노드 구조체 # struct tagListNode { int data; // # 노드를 구성하는 데이터 필드 # tagListNode* link; // # 다음 노드를 가리키는 링크 필드 # };// # 헤드 구조체 # struct tagListHead { tagListNode* head; };// # 리스트를 초기화 하는 함수 # tagListHead* createLinkedHeadList() { tagListHead* L; // # 헤더의 공간을 확보 # L = new tagListHead.. 더보기
★ 1. 연결 리스트를 이용한 선형 연결 리스트 선형 연결 리스트 선형 연결 리스트에 대해서 살펴보겠습니다.먼저 연결리스트가 등장하게 된 배경부터 알아봅시다. 선형 리스트를 구현하기 위해서 배열을 사용하였을경우에 생기는 단점 때문에 연결 리스트가 등장하게되었습니다.배열은 구현이 쉽고 인덱스를 이용하여 손쉽게 원소에접근할 수 있다는 장점이 있지만 연속된 기억 공간에메모리 할당을 받기 때문에 데이터를 삽입 혹은 삭제를해야 할 경우 원소들을 이동해야 하므로, 오버헤드가 크고배열은 선언할 때 할당된 메모리만을 사용할 수 있죠.그러므로 배열은 여분의 공간까지 생각하여 미리 메모리를할당해야합니다. 이러한 메모리의 낭비를 없애기 위해서 나온 자료구조가바로 연결리스트 입니다.연결 리스트는 여러 개의 작은 공간을 연결하여 하나의 전체자료구조를 표현하기 때문에 크기 변.. 더보기

반응형