반응형

링크드리스트 6

링크드리스트 :: 추가,삭제,출력,찾기,값변경,위치변경,종료

/* * http://sosal.tistory.com/ * made by so_Sal */ 추가된것은 값 변경, 위치변경 정도? 입니다. 단순히 복사생성자를 사용하여 node끼리 swap을 하는것입니다. node a(1),b(2); a = b; (는 불가능) #include using namespace std; class node{ private: int value; public: node(int a){ // 생성자 함수를 이용하여 value 초기화 value = a; } node(node &a){ value = a.value; // 복사생성자를 이용해 노드 초기화 } int getValue(){ // 값을 얻어오기 위한 함수 return value; } void getNode(node &a){ valu..

큐 : 링크드 리스트로 구현한 간단한 큐

/* * http://sosal.tistory.com/ * made by so_Sal */ 연결리스트로 간단하게 `큐`를 구현해보려고 합니다. 밑에 스택에서 사실 소스를 그대로 재탕해먹었습니다. push부분과 pop 부분이 상반된다는 점 빼고는 간단한 큐와 스택이 다른점은 없으니..^^; #include using namespace std; class node{ private: char value; //간단하게 알파벳 저장하는 스택의 노드~ public: node(int a){ // 생성자 함수를 이용하여 value 초기화 value = a; } char getValue(){ // 값을 얻어오기 위한 함수 return value; } node *next; // 다음 노드를 가리킬 포인터 node *pre..

스택 : 링크드 리스트로 구현한 간단한 스택. pop, push

/* * http://sosal.tistory.com/ * made by so_Sal */ 연결리스트로 간단하게 스택을 구현해보려고 합니다. 음;; 걍 손 가는대로 무작정 쳐보니 대충 돌아가네요 #include using namespace std; class node{ private: char value; //간단하게 알파벳 저장하는 스택의 노드~ public: node(int a){ // 생성자 함수를 이용하여 value 초기화 value = a; } char getValue(){ // 값을 얻어오기 위한 함수 return value; } node *next; // 다음 노드를 가리킬 포인터 node *prev; // 이전 노드를 가리킬 포인터 }; node *first; node *last; int ..

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

/* * 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 node* CreateNode(int val){ node *myNode ..

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

/* * 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..

반응형