벡터(8)
-
[C++] 자료구조 종합 정리
// 자료구조 // // 대규모 데이터들을 체계적으로 관리하고 활용에 용이하게 하는것이 목적 // 즉, 여러 데이터들의 묶음을 저장하고, 사용하는 방법을 정의한 것이다. // 기본적인 7가지 자료구조 : 배열(Array), 큐(Queue), 스택(Stack), 링크드리스트(LinkedList), 해시 테이블(Hash Tables), 그래프(Graph), 트리(Tree) // 추가적으로 동적배열의 대표로 벡터(vector)가 있다. // 배열(정적배열) // // 배열은 생성시 설정된 셀의 수가 고정되고 각 셀에는 인덱스 번호가 부여된다. // 배열을 활용 시 부여된 인덱스를 통해 해당 셀 안의 데이터에 접근한다. // 장점 : 원하는 데이터를 효율적으로 탐색 및 활용, 정렬에 용이하다 / 단점 : 데이터..
2022.06.27 -
[C++] 36. 자료구조 : 링크드리스트(LinkedList)
1. 링크드리스트의 개념 // 연결 리스트 // // 앞의 세 구조와 달리 메모리에 있는 데이터의 물리적배치를 사용하지 않는 데이터구조다. // index나 위치보다 '참조 시스템'을 사용한다. // 각 요소는 '노드'라는 것에 저장되며, 다음 노드연결에 대한 포인터 또는 주소가 포함된 또 다른 노드에 저장한다. // 모든 노드가 연결된 때까지 반복이 돼서 노드의 연결로 이루어진 자료구조다. // 장점 : 새로운 요소의 추가와 삭제가 용이하다. 메모리를 더 효율적으로 쓸 수 있어 대용량 데이터 처리에 적합하다. // 단점 : 배열보다 메모리를 더 사용한다. 처음부터 끝까지 순회하기 때문에 원하는 값을 비효율적으로 처리한다. // 사용예시) 음악 플레이어, 이미지 뷰어, 갤러리, 데이터를 연속적으로 빠르게..
2022.06.27 -
[C++] 움직이는 자동차 시뮬레이션 (구조체, 벡터, 가상함수)
#include #include #include #define Enter "\n\n\n\n"; using namespace std; struct Car { string name; string carNumber; int oil; bool start = false; int distanceDriven = 0; Car() {} Car(string _name, string _carNumber, int _oil, int _distanceDriven = 0) { name = _name; carNumber = _carNumber; oil = _oil; distanceDriven = _distanceDriven; } virtual ~Car() { cout
2022.06.15 -
[C++] 운송수단을 객체로 구조체를 짜서 상속 및 벡터와 가상함수, 동적할당 쓰기
#include #include #include using namespace std; struct Vehicle { string name; int fuel; Vehicle() { } Vehicle(string _name, int _fuel) { name = _name; fuel = _fuel; } void virtual PrintInfo() { cout
2022.06.15 -
[C++] 벡터를 사용해서 인벤토리 생성
게임을 만들때 필요한 인벤토리는 필수이다. 인벤토리가 가질 수 있는 기능을 생각해보고 어떤 기능을 넣을것 이고 어떻게 만들 것인가를 구체적으로 생각해야한다. 이는 객체지향이라는 특성을 가진 C++에서 매우 중요한 사고이다. 1. 인벤토리 구조체 만들기 #include #include #include using namespace std; struct Item { string name; Item() { } Item(string _name) { name = _name; } }; struct Player { vector inventory; void PrintInventory() { cout
2022.06.14 -
[C++] 벡터를 사용해서 출석부만들기
#include #include #include using namespace std; struct SchoolMember { string name; int id; SchoolMember() { } SchoolMember(string _name, int _id) { name = _name; id = _id; } //virtual 가상함수 //자식에서 재정의 된 함수가 있다면 자식의 함수를 실행 void virtual ShowInfo() { cout
2022.06.14