본문 바로가기
프로그래밍/개발 이야기

[자료구조] Single Linked List 사용법, 동적할당 대신 사용할 수 있는 배열

by JR2 2021. 1. 28.
#include <iostream>
#include <stdio.h>

using namespace std;

int arr_idx = 0;

struct NODE {
	int v;
	NODE* prev; // Single list를 위해 추가.
} a[100000000];

NODE* myalloc(void)
{
	return &a[arr_idx++];
}


int main(void)
{
	NODE* pList = NULL; // Single linked list의 시작
	NODE* p;

	arr_idx = 0; // 배열 초기화

	//첫번째 노드(1) 추가
	p = myalloc();
	p->v = 1;
	p->prev = pList;
	pList = p;

	//두번째 노드(2) 추가
	p = myalloc();
	p->v = 2;
	p->prev = pList;
	pList = p;	

	
	//추가된 노드 확인

	for (NODE* pp = pList; pp != NULL; pp = pp->prev)
	{
		cout << pp->v << endl;
	}

	return 0;
}

댓글