본문 바로가기

라이브러리8

[C++] sort (정렬) 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 이번 포스팅에서는 정렬에 대한 근본적인 알고리즘보다, C++에서 정렬을 하는 메소드를 어떻게 사용하고, 해당 메소드에 대한 옵션을 어떻게 설정해야 하는지 적어보려 한다. sort() 우선 sort 메소드를 사용하기 위해서는 코드의 헤더 부분에 algorithm 라이브러리를 추가해주어야 한다. 해당 헤더를 추가했다면, 이제 main과 같은 함수에서 정렬과 관련된 메소드들을 사용할 수 있게 된다. C++에서는 내부적으로 해당 값이 32개 이하일 때는 삽입정렬을 사용하고, 32개 초과일 경우에는 힙정렬과 퀵소트를 사용한다고 한다. (대략 O(nlogn) 정도의 시간복잡도가 걸린다고 함.) 기본 사용법 다음과 같은 in.. 2022. 6. 25.
[C++] STL vector 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. C++의 표준 템플릿 라이브러리 중 하나인 에 대해서 알아보도록 하자. vector란? 배열과 같이 데이터들을 순차적으로 보관하는 컨테이너이다. 간단히 말해, C++에서 일반적인 배열은 크기를 지정해주고 데이터를 담아주어야 하지만, vector의 경우에는 일반적인 배열과 다르게 가변적으로 길이가 조정이 가능하며, 임의의 원소를 빠르게 처리할 수 있다. 어떻게 사용할까? 코드의 헤더부분에 #include 를 입력하여 사용한다. 또한 vector "변수명"; 을 입력하여 해당 vector를 선언할 수 있다. vector의 여러 특징 배열 미리 만들기 vector 또한 일반적인 배열들과 마찬가지로 크기를 미리 지정하여.. 2022. 6. 23.
[Cpp] 문자열 함수 (cstring) 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 이번 포스팅에서는 라이브러리 중에 string을 사용하지 않고, char를 이용하는 라이브러리를 통해 문자열을 다루어보도록 한다. char를 이용 문자열을 다루는 라이브러리는 아래의 두 라이브러리가 있다. string.h cstring 두 라이브러리를 같은 기능을 하지만, 보통 C에서는 첫 번째 라이브러리를 사용하고, Cpp에서는 아래의 라이브러리를 사용한다. ( 위 두 라이브러리는 과는 다른 라이브러리이다.) cstring을 이용하여 문자열 복사하기. 특정 문자열을 buf라는 char 변수에 복사해보도록 하자. 이때 사용하는 함수는 strcpy()라는 함수이며, 다음과 같은 방법으로 사용한다. strcpy() .. 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.