반응형

연결리스트 3

자료구조 원형연결리스트 예제

CLinkedList.h 노드와 리스트를 정의하고 사용될 함수를 선언하는 헤더파일입니다. #ifndef __C_LINKED_LIST_H__ #define __C_LINKED_LIST_H__ #define TRUE 1 #define FALSE 0 typedef int Data; typedef struct _node { Data data; struct _node* next; }Node; typedef struct _CLL { Node* tail; Node* cur; Node* before; int numOfData; }CList; typedef CList List; void ListInit(List* plist); void LInsert(List* plist, Data data); void LInsertFr..

윤성우의 열혈자료구조 문제 04 - 1연결리스트 익숙해지기

데이터 3 -> 2 -> 7 -> 8 ->5 를 입력하고 저장하면 역순인 5 -> 8 -> 7 -> 2 ->3 으로 저장되게 하는 예제 #define _CRT_SECURE_NO_WARNINGS #include #include typedef struct _node {//node 구조체 정의 int data; struct _node* next; }Node; int main() { Node* head = NULL;//head 노드 선언 Node* tail = NULL;//tail 노드 선언 Node * cur = NULL;//cur 노드 선언, 저장된 데이터조회를 위한 변수 Node* newNode = NULL;//노드를 추가하기 위한 노드 int readData;//데이터를 저장하기 위한 변수 while (..

자료구조 리스트(List) 기초 개념정리

추상자료형(Abstract Data Type) 추상자료형 이란 간단히 ADT라고도 불리며, 프로그래밍을 공부하면 볼 수 있는 용어 입니다. ADT는 구체적인 기능의 완성과정을 언급하지 않고 단순히 기능이 무엇인지를 나열한 것 입니다. 리스트 리스트자료구조는 데이터를 나란히 저장하며, 중복된 데이터의 저장을 허용합니다. 순차리스트: 배열기반의 리스트, 메모리의 특성이 정적이다. 연결리스트: 메모리의 동적할당 기반의 리스트 배열기반리스트 배열기반리스트는 연결리스트에 비해서 참조가 쉽습니다. 또한 인덱스 값을 기준으로 사용하여 어느 위치든 한번에 참조가 가능합니다. 배열기반리스트의 단점으로는 삭제과정을 거칠때마다 데이터의 이동이 필요하기 때문에 효율이 떨어지며, 배열의 길이가 초기화할때 정해져야하며 변경이 불..

반응형