본문 바로가기
Computer Science

링크드 리스트 정적 할당

by OKOK 2018. 11. 27.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
using namespace std;
 
int arr_idx = 0;
 
// 동적 배열이 아닌 정적 배열로
struct NODE {
    int v; // 값을 저장함
    NODE * prev;  // 싱글 리스트를 위해 추감. 이전 값 저장
} a[10000];
 
// 
NODE * myalloc(void
{
    return &a[arr_idx++];
}
 
void main(void)
{
    NODE * pList = NULL// 싱글 링크드 리스트의 시작
    NODE * p; // 하나 선언해두고 계속 사용
    arr_idx = 0;  // 배열 초기화
                  //첫번째 노드(1) 추가
    p = myalloc();
    p->= 1;
    p->prev = pList;
    pList = p;
 
    //두번째 노드(2) 추가
    p = myalloc();
    p->= 2;
    p->prev = pList;
    pList = p;
 
    //추가된 노드 확인
    for (NODE * pp = pList; pp != NULL; pp = pp->prev)
    {
        cout << pp-><< " ";
    }
}
 
cs


정적 배열로 사용하기 1만 기준 동적 배열보다 디버그시 5배 릴리즈 시 2배 속도 차이가 있음

pList 와 p 를 설정함

그리고 p 에 새로운 주소 값과 value 를 넣고, 

pList 


'Computer Science' 카테고리의 다른 글

박트리  (0) 2018.12.03
pro에 유용한 hash  (0) 2018.11.28
연락처 DataBase  (0) 2018.11.22
proxy server setting  (0) 2018.11.22
숫자 야구 게임  (0) 2018.11.21

댓글