From 5738046b8f2783d30f87658357031b3f1c39a606 Mon Sep 17 00:00:00 2001 From: Qstion Date: Mon, 11 Jan 2021 01:34:07 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=EB=A7=81=ED=81=AC=EB=93=9C=20=EB=A6=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- linkedList/linked_list.cpp | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 linkedList/linked_list.cpp diff --git a/linkedList/linked_list.cpp b/linkedList/linked_list.cpp new file mode 100644 index 0000000..d97806f --- /dev/null +++ b/linkedList/linked_list.cpp @@ -0,0 +1,39 @@ +#include +using namespace std; + +struct List_node +{ + int DATA = 0; + struct List_node *NEXT_NODE; +}; + +int main(){ + List_node *HEAD = NULL; + List_node *TAIL = NULL; + List_node *CURSOR = NULL; + List_node *NEW_NODE = NULL; + int input_data; + + for(int i = 0; i < 5; i++){ + cout << "자연수를 입력해주세요 : "; + cin >> input_data; + + NEW_NODE = new List_node(); //새로운 노드를 선언하고. + NEW_NODE -> DATA = input_data; // 새로운 노드에 입력받은 자연수 정보를 저장하고. + NEW_NODE -> NEXT_NODE = NULL; // 새로운 노드의 NEXT변수를 초기화한다. + + if(HEAD == NULL) //만약, HEAD가 가리키는 노드가 없으면, + HEAD = NEW_NODE; //HEAD는 추가된 노드를 가르킨다. + else//HEAD가 가리키는 노드가 있으면, + TAIL -> NEXT_NODE = NEW_NODE; //TAIL이 가리키는 노드(=직전에 추가된 노드)의 NEXT변수가 새로 추가되는 노드를 가리키게 만들고. + TAIL = NEW_NODE; //TAIL은 새로 추가한 노드를 가리킨다. + } + + cout<<""<DATA< NEXT_NODE; //CURSOR이 현재 가리키는 노드의 다음 노드를 가리킨다. + cout<DATA<<""< Date: Mon, 11 Jan 2021 02:35:29 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=EC=84=A0=EC=83=9D=EB=8B=98=20=EC=A0=95?= =?UTF-8?q?=EB=A7=90=20=EB=A9=94=EC=86=8C=EB=93=9C=EB=8A=94=20=EC=A7=84?= =?UTF-8?q?=EC=A7=9C=20=EB=AA=A8=EB=A5=B4=EA=B2=A0=EC=96=B4=EC=9A=94=20?= =?UTF-8?q?=EC=A3=84=EC=86=A1=ED=95=A9=EB=8B=88=EB=8B=A4=20=E3=85=A0?= =?UTF-8?q?=E3=85=A0=E3=85=A0=E3=85=A0=E3=85=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- linkedList/linked_list.cpp | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/linkedList/linked_list.cpp b/linkedList/linked_list.cpp index d97806f..f524ebe 100644 --- a/linkedList/linked_list.cpp +++ b/linkedList/linked_list.cpp @@ -1,10 +1,13 @@ #include +#include using namespace std; struct List_node -{ +{ + int DATA = 0; struct List_node *NEXT_NODE; + List_node(int D):DATA(D){NEXT_NODE = NULL;} }; int main(){ @@ -17,11 +20,7 @@ int main(){ for(int i = 0; i < 5; i++){ cout << "자연수를 입력해주세요 : "; cin >> input_data; - - NEW_NODE = new List_node(); //새로운 노드를 선언하고. - NEW_NODE -> DATA = input_data; // 새로운 노드에 입력받은 자연수 정보를 저장하고. - NEW_NODE -> NEXT_NODE = NULL; // 새로운 노드의 NEXT변수를 초기화한다. - + NEW_NODE = new List_node(input_data); //새로운 노드를 선언하고. if(HEAD == NULL) //만약, HEAD가 가리키는 노드가 없으면, HEAD = NEW_NODE; //HEAD는 추가된 노드를 가르킨다. else//HEAD가 가리키는 노드가 있으면, @@ -36,4 +35,19 @@ int main(){ CURSOR = CURSOR -> NEXT_NODE; //CURSOR이 현재 가리키는 노드의 다음 노드를 가리킨다. cout<DATA<<""< NEXT_NODE;//delNextNode를 만들고, HEAD의 NEXT 변수를 저장함. + delete(delNode); //delNode에 배정된 Heap 메모리를 할당 해제 함. + for(int k = 0; k < 4; k++) + { + delNode = delNextNode; //delNode는 delNextNode가 가르키는 NEXT 변수가 가르키는 노드를 가르킴. + delNextNode = delNextNode->NEXT_NODE; //delNextNode는 현재 노드의 NEXT변수를 저장함. + delete(delNode); ////delNode에 배정된 Heap 메모리를 할당 해제 함. + } + } } \ No newline at end of file From 83c22c62637fdb39ef29aead302f9a13fda55654 Mon Sep 17 00:00:00 2001 From: Qstion Date: Mon, 11 Jan 2021 02:36:18 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=EC=84=A0=EC=83=9D=EB=8B=98=20=EC=A0=95?= =?UTF-8?q?=EB=A7=90=20=EB=A9=94=EC=86=8C=EB=93=9C=EB=8A=94=20=EC=A7=84?= =?UTF-8?q?=EC=A7=9C=20=EB=AA=A8=EB=A5=B4=EA=B2=A0=EC=96=B4=EC=9A=94=20?= =?UTF-8?q?=EC=A3=84=EC=86=A1=ED=95=A9=EB=8B=88=EB=8B=A4=20=E3=85=A0?= =?UTF-8?q?=E3=85=A0=E3=85=A0=E3=85=A0=E3=85=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- linkedList/linked_list_yun.cpp | 53 ++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 linkedList/linked_list_yun.cpp diff --git a/linkedList/linked_list_yun.cpp b/linkedList/linked_list_yun.cpp new file mode 100644 index 0000000..f524ebe --- /dev/null +++ b/linkedList/linked_list_yun.cpp @@ -0,0 +1,53 @@ +#include +#include +using namespace std; + +struct List_node +{ + + int DATA = 0; + struct List_node *NEXT_NODE; + List_node(int D):DATA(D){NEXT_NODE = NULL;} +}; + +int main(){ + List_node *HEAD = NULL; + List_node *TAIL = NULL; + List_node *CURSOR = NULL; + List_node *NEW_NODE = NULL; + int input_data; + + for(int i = 0; i < 5; i++){ + cout << "자연수를 입력해주세요 : "; + cin >> input_data; + NEW_NODE = new List_node(input_data); //새로운 노드를 선언하고. + if(HEAD == NULL) //만약, HEAD가 가리키는 노드가 없으면, + HEAD = NEW_NODE; //HEAD는 추가된 노드를 가르킨다. + else//HEAD가 가리키는 노드가 있으면, + TAIL -> NEXT_NODE = NEW_NODE; //TAIL이 가리키는 노드(=직전에 추가된 노드)의 NEXT변수가 새로 추가되는 노드를 가리키게 만들고. + TAIL = NEW_NODE; //TAIL은 새로 추가한 노드를 가리킨다. + } + + cout<<""<DATA< NEXT_NODE; //CURSOR이 현재 가리키는 노드의 다음 노드를 가리킨다. + cout<DATA<<""< NEXT_NODE;//delNextNode를 만들고, HEAD의 NEXT 변수를 저장함. + delete(delNode); //delNode에 배정된 Heap 메모리를 할당 해제 함. + for(int k = 0; k < 4; k++) + { + delNode = delNextNode; //delNode는 delNextNode가 가르키는 NEXT 변수가 가르키는 노드를 가르킴. + delNextNode = delNextNode->NEXT_NODE; //delNextNode는 현재 노드의 NEXT변수를 저장함. + delete(delNode); ////delNode에 배정된 Heap 메모리를 할당 해제 함. + } + } +} \ No newline at end of file