스택
-
chapter 4-1 : List (정렬, STACK, QUEUE)자료구조 2021. 10. 18. 03:34
Linked list for merge (연결리스트를 이용한 오름차순 정렬 merge) 연결리스트 방법을 사용하여 오름차순을 하는 코드 입니다. X = {11, 36} 이 있고 Y = {16, 21} 이 있는 상태입니다. 이 둘의 연결리스트들을 합쳐서 오름차순으로 정렬해야 합니다. typedef struct list_node *list_pointer; typedef struct list_node { int data; list_pointer link; }list_node; list_pointer ptr = NULL; 연결리스트의 원형입니다. void merge(list_pointer x, list_pointer y, list_pointer* z) { list_pointer last; //노드 맨끝에 포인터..
-
chapter 3-1 : Stack & Queue (MAZE 미로)자료구조 2021. 10. 11. 14:54
스택을 이용하여 미로를 만들 수 있습니다. MAZE (미로 만들기 (stack 활용)) Initilize (미로 초기화) 먼저 2차원 배열을 통해 미로를 생성해 줄것입니다. 미로는 1과 0으로 이루어져있는데 0은 갈 수 있는 길이고 1은 막힌 길입니다. 우리가 미로를 통과하게 경로를 탐색하는 과정에서 벗어나지 않게 미로의 둘레를 막힌 길 1로 둘어쌓아줍니다. 따라서 2차원 배열의 행과 열을 ROW와 COL이라 할때, 실제적으로는 ROW+2, COL+2 입니다. 결국 미로 2차원 배열은 maze[ROW+2][COL+2] 라고 선언 가능합니다. 또한 시작점과 미로의 끝 점은 maze[1][1] 과 maze[ROW][COL] 이라고 할 수 있습니다. void initialize() {//미로 초기화 srand..