반응형

C , C++, C# 45

[자료구조] 링크드 리스트(C++)

C++ 역시 C언어로 구현한 링크드리스트와 비슷하다. 이전에도 말했듯이 아주 중요한 구조이다. 12345typedef struct Node { int val; Node *next;}node; cs 그렇다면 C++클래스로 어떻게 적용시킬까? 이전 게시물에서 간단하게 표현하였지만, 실제 적용되는 구조를 알아보자 1234567891011typedef struct Node { int val; Node *next;}node; class list {private: node* head; // 첫 노드 node* tail; // 마지막 노드 node* New; // 노드 생성용 node* pos; // 확인용(이동)cs 이렇게 클래스 맴버변수에 node포인터 타입을 가지도록 한다. 각 node포인터의 역할을 주석으로 ..

C , C++, C# 2019.02.20

[자료구조]링크드리스트 삽입 삭제 (C언어)

단일 링크드 리스트에 의기본 구조를 꼭 알고 가자 1234typedef struct list { list *next; int val;};cs 이것을 가지고 동적으로 메모리를 할당하고 '->'연산자를 이용하여 리스트를 형성할 수 있다. 그렇다면 이 list를 삽입, 삭제하는 코드를 보자 요정도 내용까지는 우리가 짚고 넘어갈 수 있으면 좋다. 코드를 보고 따라해보면서 눈과 머리 그리고 손으로 익히도록 하자. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899..

C , C++, C# 2019.02.20

[자료구조] C/C++ 단일 링크드리스트

친구를 통해 링크드리스트에 대한 이론과 한번쯤은 직접 만들어보라고 조언해 준적이 있다. 우선 링크드리스트가 무엇인지는 위키백과를 참고하였다. 링크 : https://ko.wikipedia.org/wiki/%EC%97%B0%EA%B2%B0_%EB%A6%AC%EC%8A%A4%ED%8A%B8 이곳에서 단일 링크드 리스트에 대해 살펴보자. 정리하면, 각 노드가 데이터(값)와 다음노드나 이전노드를 연결하는 포인터를 가지고 있는 자료구조이다. 특징은 자료의 추가와 삭제가 O(1)이며 동적할당을 통해 연속적인 기억장소 할당이 필요하지 않지만 특정데이터를 검색하는데 O(n)의 시간이 걸린며 포인터의 사용으로 저장공간의 낭비가 있다. C / C++의 단일 링크드리스트의 코드를 보며 살펴보자. 자세한 내용은 아래 출처에서..

C , C++, C# 2019.02.19

c++ 기본 : 계좌관리 프로그램

이번 글은 C++의 클래스와 배운것들을 종합하여 이해하기 위해 코드를 보며 계좌관리 프로그램이 어떻게 돌아가는지 확인해보자 이 코드의 출처는 https://koocci.github.io 이다. 약간의 변수이름 변경과 주석을 통해 우리가 클래스를 통해 어떻게 프로그램이 흘러가고 생성자 및 소멸자 그리고 데이터의 이동과 기능이 동작하는 방식을 이해하는것에 중점을 두면 좋을 것 같다. 생성자와 소멸자 맴버함수에 출력문을 만들어 확인한다면 어떻게 동작이 흘러가는지 알 수 있는 좋은 방법이다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666..

C , C++, C# 2019.02.18

C++ 복습 : const static

오늘은 예전에 배운 C++의 내용에 대해 다시 공부했다. 취준을 하면서 많이 보고 필요한 내용이지만 정작 몇일 지나면 잊어버린다. 이런일을 방지하고자 이 추적에다 글을 남겨야겠다. 우선 이분의 블로그를 보고 나에게 필요한것만 정리하였다. *자세한 내용은 이 링크를 타고 확인할 수 있다.* 링크 : https://koocci.github.io/ const : 값이 변경되거나 수정할 수 없다. 선언과 동시에 초기화!!언제? 사용할까?? 1: 함수내에서 맴버변수에 저장된 값을 변경하지 않을때 2: const함수 내에서 const가 아닌 함수호출 제한 EX) set() const , get() const this -> 함수의 파라미터값이 아닌 맴버변수를 사용할때 객체의 주소를 첨조하는 참조자 member Ini..

C , C++, C# 2019.02.18
반응형