반응형

node 3

트리 : level에 따른 이진트리 자동 생성 소스

/* * http://sosal.tistory.com/ * made by so_Sal */ 이진트리를 짜봤습니당. 워낙 유명한 자료구조라 인터넷에서 쉽게 구조체나 생성함수, 삭제함수 등을 구할 수 있었지만 레벨에 따른 트리를 생성할 수 있도록 만들어놓은 함수는 안보이더라구요, 그래서 간단하게 만들어봤습니다 ㅎㅎ 각 노드의 value는 char형태로 이루어져있는데, default parameter를 통해 자동으로 B부터 CDE~~~쭉쭉 만들어지게 해놨습니다. 숫자를 원하신다면 class의 value 자료형을 바꾸고, default parameter값만 바꿔주시면 되겠죠? #include using namespace std; class node{ private: char value; public: node(..

링크드리스트 :: 추가된 리스트 원하는 위치에서 삭제, 찾기, 바꾸기

/* * http://sosal.tistory.com/ * made by so_Sal */ LINK_ 에서 단순히 리스트를 추가하고, 출력하는법을 보았습니다. 그럼 원하는 위치에 있는 노드를 어떻게 삭제할까요? 포인터를 이용해 하나하나 각 노드(마디)가 연결되어있으므로, 삭제하기 위해선 삭제되기 전의 노드가 삭제된 노드가 가리키는 위치를 알아야만 삭제를 하더라도 리스트가 깨져버리지 않습니다. 따라서 꼭 노드를 삭제하기 전에, 삭제될 노드 바로 앞의 노드는 삭제될 노드 뒤의 노드를 가리키도록 해줘야 하고, 연결이 끊어진 (삭제될) 노드는 삭제해줘야만 합니다. 만약 연결고리만 끊은 후, 삭제하지 않게 된다면 쓰지는 않지만, 메모리에 올라와있는 노드가 계속 쌓이게 됩니다. 따라서 꼭 삭제하기 전에, 삭제될 노..

링크드리스트 :: 간단한 기본 형태 (단방향)

/* * http://sosal.tistory.com/ * made by so_Sal */ #include using namespace std; class node{ private: int value; public: node(int a){ // 생성자 함수를 이용하여 value 초기화 value = a; } int getValue(){ // 값을 얻어오기 위한 함수 return value; } node *next; // 다음 노드를 가리킬 포인터 }; node* first; // 첫번째 노드 node* newNode; int count; // 노드의 숫자를 관리할 conter int main(){ node a(1); coutnext = newNode; // 연결! } } 출력하는 함수를 만들어봅시다. v..

반응형