연결리스트
-
[자료구조] 연결 리스트 : 코딩 그리고 시연Stage/Computer Science 2021. 6. 1. 23:27
학습 목표 연결 리스트를 구현하고 사용할 수 있다. 연결 리스트와 배열의 장단점을 설명할 수 있다. 1. 코드 #include #include //연결 리스트의 기본 단위가 되는 node 구조체를 정의합니다. typedef struct node { //node 안에서 정수형 값이 저장되는 변수를 name으로 지정합니다. int number; //다음 node의 주소를 가리키는 포인터를 *next로 지정합니다. struct node *next; } node; int main(void) { // list라는 이름의 node 포인터를 정의합니다. 연결 리스트의 가장 첫 번째 node를 가리킬 것입니다. // 이 포인터는 현재 아무 것도 가리키고 있지 않기 때문에 NULL 로 초기화합니다. node *list ..
-
[자료구조] 연결리스트 : 도입Stage/Computer Science 2021. 6. 1. 23:25
학습 목표 연결 리스트의 정의를 설명할 수 있다. 1. 데이터 구조 기본적인 포인터 구조만 이용해서 메모리를 관리하기에는 다소 번거로울 때가 많다. 데이터 구조는 컴퓨터 메모리를 더 효율적으로 관리하기 위해 새로 정의하는 구조체이다. 쉽게 기억하기 위해, 일종의 메모리 레이아웃 또는 메모리 지도라고 생각하자. 2. 연결 리스트 배열에서는 각 인덱스의 값이 메모리상에서 연이어 저장되어 있다. 하지만 다음 인덱스의 값이 메모리상에서 멀리 떨어져 있다면 안되는 걸까? 각 인덱스 값이 메모리상에 여러 군데 나뉘어져 있다고해도 자기 바로 뒤에 오는 값의 메모리 주소만 기억하고 있다면 그 값을 연이어서 읽어들일 수 있다. 이것을 연결 리스트라고 한다. 크기가 3인 연결 리스트 이다. 이 연결리스트는 각 인덱스가 메..