본문 바로가기
CS/자료구조

[자료구조] 1. Array, Pointer, Stack, Queue, LinkedList

by 두둠칫 2020. 12. 1.

1. Array

연속적인 memory에 저장된 같은 type의 data집합

 

2. Pointer

// 일반 포인터
type* var_name;
cout << sizeof(var_name); // always 4

// 구조체 포인터
typedef struct ex *exPtr;
typedef struct ex{
	element data;
	exPtr ptr;
}

exPtr ptr = NULL;
malloc(ptr, sizeof(exPtr));
ptr->data = (element); // == *(*ptr).data = (element);

 

3. Stack

한쪽 끝에서만 자료를 추가하고 삭제할 수 있는 FILO형태의 자료구조

 

4. Queue

한쪽 끝에서만 자료를 추가하고 삭제할 수 있는 FIFO형태의 자료구조

 

5. Linkedlist

기준에 따라 순서대로 배치할 때 새로운 element 삽입/삭제를 단순 Array보다 빠르게 할 수 있는 자료구조

typedef struct listNode *listPtr;

typedef struct listNode{
    int data;
    listPtr link;
}

listPtr first = NULL;
malloc(first, sizeof(listPtr));

first->link = ...