본문 바로가기

문법5

[C++] sort (정렬) 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 이번 포스팅에서는 정렬에 대한 근본적인 알고리즘보다, C++에서 정렬을 하는 메소드를 어떻게 사용하고, 해당 메소드에 대한 옵션을 어떻게 설정해야 하는지 적어보려 한다. sort() 우선 sort 메소드를 사용하기 위해서는 코드의 헤더 부분에 algorithm 라이브러리를 추가해주어야 한다. 해당 헤더를 추가했다면, 이제 main과 같은 함수에서 정렬과 관련된 메소드들을 사용할 수 있게 된다. C++에서는 내부적으로 해당 값이 32개 이하일 때는 삽입정렬을 사용하고, 32개 초과일 경우에는 힙정렬과 퀵소트를 사용한다고 한다. (대략 O(nlogn) 정도의 시간복잡도가 걸린다고 함.) 기본 사용법 다음과 같은 in.. 2022. 6. 25.
[C++] String 클래스 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. C++이 제공하는 STL 중 하나인 string에 대해서 적어보았다. 일단 공부하는대로 추가할 예정이므로, 빠진 내용이 있을 수 있는 점 양해바랍니다. string이란? C++ STL에서 제공하는 클래스로, string (문자열)을 다루는 클래스이다. string을 쓰기 전에는 char 자료형을 사용하여 문자열을 다루었다면, 이제는 문자열을 string으로 선언하고, 마지 하나의 다른 자료형을 사용하는 것처럼 다룰 수 있게 된다. 또한, string의 경우 char와 다르게 문자열의 끝에 "\0" (null) 이 들어가지 않으며 문자열의 길이를 동적으로 다룰 수 있다. string 클래스 사용법 string을 사.. 2022. 6. 22.
[Cpp] STL (스택, 큐, 우선순위 큐) 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. Cpp에서 사용하는 STL중 스택, 큐, 우선순위 큐를 간단히 적어보았다. STL stack(스택) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include #include using namespace std; int main() { stack t; // 스택 생성 t.push(1); t.push(2); t.push(3); cout 2022. 6. 22.
[Cpp] 구조체 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 구조체 Cpp에서의 구조체의 개념과 사용에 대해서 간단히 짚어보고 가고자 한다. 우리가 코딩을 하다보면 객체를 표현하기 위해 하나 이상의 변수가 필요한 경우가 간혹 있는데, 예를 들면 한 사람의 개인정보를 표현하기 위해서는 그 개인의 이름, 생일, 키, 몸무게등 여러가지를 표현해야 한다. 이를 그룹화 시키지 않고 독립 변수에 저장을 하게 되면, 각 변수를 개별적으로 지정해 주어야 하고, 사람이 바뀔 경우 새로운 변수를 지정해 저장해 주어야 한다. 이러한 불필요한 반복을 피하기 위해 Cpp에서는 고유한 사용자 정의 집계 데이터 유형을 생성할 수 있고, 이 데이터 유형 중 가장 단순하게 만들 수 있는 것이 바로 구조.. 2022. 6. 21.