본문 바로가기

링크드리스트

링크드 리스트 정의, 종류 1.링크드 리스트 노드(node)와 링크(link)로 구성이 된다 노드 : 실제 정보를 담고 있는 단위 링크 : 인접 노드의 위치(주소)를 저장하고 순서를 유지하는 연결고리 배열 : 정적인 자료구조, 연속된 메모리 공간을 차지 연결리스트 : 동적인 자료구조 수시로 할당과 해제되기 때문에 연속된 메모리 공간이 아니다 - 장점 : 메모리 관리가 쉽다 동적인 자료구조 이므로 실행중에 얼마든지 크기를 조절할수 있다(삽입과 삭제가 용이) - 단점 : 구현하기가 어렵다 [연결리스트의 종류] 1. 단순 연결 리스트 2. 환형 연결 리스트 3. 이중 연결 리스트 4. 이중 환형 연결 리스트 단순 연결 리스트가 가장 많이 사용이 된다. [연결리스트] 1. 초기화 #include #include typedef struct.. 더보기
[C언어] 링크드리스트를 이용한 stacklist view plaincopy to clipboardprint? #include #include typedef int element; typedef struct stackNode { element data; //해당 노드의 값을 가지고 있는 int형 data변수 struct stackNode* link; // 이전 노드의 주소값을 가지고 있게 될 구조체 포인터 변수 }stackNode; stackNode* top; // 최상위 값을 가지게 되는 포인터 구조체 변수 stackNode* cur; // 현재 위치값을 가지게 될 포인터 구조체 변수 stackNode* curprev; // 현재 위치값의 이전값을 가지게 될 구조체 변수 int flag = 0; void push(element num) { stackN.. 더보기
링크드 리스트에 정확한 개념 링크드 리스트를 많이 들어봤는데 정확한 개념을 모르겠습니다. 삼국지 게임에서요 도시들이 각각 분포 되 있잖아여... 지도가 대략 영창 천수 북평 진양 이렇게 있으면요... 진양에서 천수로 가는길은 진양 => 북평 => 영창 => 천수인데요.. 여기서 진양에서 바로 천수로 못가게 만드는것이 링크드 리스트인가요? 그러니깐 인접 리스트말이죠? 인접한곳만 거쳐서 간다.. 이 개념이 링크드 리스트인가요? 링크드 리스트와 유사하면서 비교되는 개념이 배열이랍니다. 일딴 배열이 무엇 인지는 아시겠죠. 배열은 같은 자료형을 여러개 사용할때 유용하게 쓸수 있겠죠. 그러나 그 같은 자료형들이 몇개가 생길지 예상을 못하거나 너무 가변적일때가 있잖아요. 예를 들어 학생 데이터를 배열로 잡았을 경우, 학생이 30명 정도인데 적어.. 더보기