전체 글

예비 프로그래머 42 - jaeyojun
들어가기 전 보고 가자! STL,반복자 개념 https://wo-dbs.tistory.com/176 STL, 컨테이너, 반복자 개념 STL(Standard Template Library)이란? → 프로그램에 필요한 자료구조와 알고리즘을 Template로 제공하는 라이브러리 STL은 C++을 위한 라이브러리로 알고리즘, 컨테이너, 함수자, 반복자 4가지로 구성되어 wo-dbs.tistory.com 컨테이너 vector https://wo-dbs.tistory.com/177 vector vector 기본 사용법 → std::vector는 가변 크기의 배열을 나타내는 C++ 표준 라이브러리 컨테이너이다. 이는 배열과 유사하지만 크기를 동적으로 조정할 수 있는 장점을 가지고 있습니다. 아래는 std:: wo-d..
· C++/C++ STL
stack C++ 표준 라이브러리의 std::stack은 스택(stack)을 구현한 어댑터 컨테이너이다. 스택은 LIFO(Last In, First Out) 데이터 구조로, 가장 최근에 삽입된 요소가 가장 먼저 제거된다. std::stack은 기본적으로 다른 컨테이너(주로 std::deque, std::list, std::vector)를 내부적으로 사용하여 스택을 구현. stack 기본 사용법 헤더 파일 포함 #include 스택 선언 std::stack myStack; // int 형 스택 선언 원소 추가 → push(): 스택의 상단에 원소를 추가. myStack.push(10); myStack.push(20); myStack.push(30); 원소 제거 → pop(): 스택의 상단에 있는 원소를 제..
→ STL(Standard Template Library)에서 제공하는 std::find 함수는 지정된 값을 검색하여 해당 값이 컨테이너에서 처음 발견되는 위치를 찾는 함수이다. std::find 함수는 순차적으로 컨테이너를 탐색하면서 지정된 값과 일치하는 첫 번째 원소를 찾는다. std::find 함수는 두 개의 반복자를 인수로 받는다. 첫 번째 인수는 검색을 시작할 범위의 시작 반복자이고, 두 번째 인수는 검색을 종료할 범위의 끝 반복자이다. 여기서 범위는 검색을 수행할 컨테이너의 일부분이다. 범위는 반열린 구간으로 해석되며, 시작 반복자는 포함되고 끝 반복자는 제외된다. std::find 함수의 세 번째 인수는 찾을 값을 나타낸다. 이 값과 일치하는 첫 번째 원소를 찾는다. std::find 함수는..
→vector 컨테이너에서 최대값, 최소값을 구할 경우 for문을 작성할 수도 있지만 이는 복잡하다. 그래서 algorithm 라이브러리에 있는 max_element를 사용한다면 한줄로도 간단하게 최대값을 구할 수 있다. 또한 max_element를 사용하면 최대값의 인덱스 값도 구해낼 수 있다. 최소값을 구하기 위해서는 min_element를 사용한다. #include #include #include using namespace std; int main() { vector v; v.push_back(46); v.push_back(68); v.push_back(184); v.push_back(4); v.push_back(17); v.push_back(53); cout
· C++/C++ STL
list → C++의 std::list는 이중 연결 리스트를 구현한 컨테이너로, 데이터를 삽입, 삭제, 검색하는데 효율적이다. std::list는 벡터와는 달리 임의 접근이 느리지만, 원소를 삽입하거나 삭제하는데 있어서는 훨씬 효율적이다. 아래는 std::list를 사용하는 기본적인 방법이다. 헤더 파일 #include 리스트 선언 std::list myList; // int 형 리스트 선언 원소 추가 → push_back(): 리스트의 끝에 원소를 추가. → push_front(): 리스트의 시작에 원소를 추가. myList.push_back(10); myList.push_front(5); 원소 삭제 → pop_back(): 리스트의 끝에 있는 원소를 삭제. → pop_front(): 리스트의 시작에 ..
· C++/C++ STL
vector 기본 사용법 → std::vector는 가변 크기의 배열을 나타내는 C++ 표준 라이브러리 컨테이너이다. 이는 배열과 유사하지만 크기를 동적으로 조정할 수 있는 장점을 가지고 있습니다. 아래는 std::vector를 사용하는 기본적인 방법이다. 헤더 파일 #include 벡터 선언 std::vector myVector; // int 형 벡터 선언 원소 추가 myVector.push_back(5); // 벡터 끝에 원소 추가 원소 접근 → [] 연산자를 사용하여 인덱스를 통해 원소에 접근. → at() 함수를 사용하여 범위 검사를 수행하면서 원소에 접근. int element = myVector[0]; // 첫 번째 원소에 접근 int element2 = myVector.at(1); // 두 ..
· C++/C++ STL
STL(Standard Template Library)이란? → 프로그램에 필요한 자료구조와 알고리즘을 Template로 제공하는 라이브러리 STL은 C++을 위한 라이브러리로 알고리즘, 컨테이너, 함수자, 반복자 4가지로 구성되어 있다. STL 의 구성요소 Container객체를 저장하는 객체, 자료구조 라고도 한다. 클래스 템플릿으로 구현되어있다.container는 크게 sequence container, associative container로 나뉜다. Sequence Container 의 종류 : array (C++ 11), vector, list, deque Associative Container 의 종류 : set, multiset, map, multimap Iterator포인터와 비슷한 개념..
이번에는 클래스 템플릿 Array를 구현하는 문제 차근차근 조건대로 해보자. 매개변수가 없는 구성: 빈 배열을 생성합니다. unsigned int n을 매개변수로 사용하여 생성: 기본적으로 초기화된 n개 요소의 배열을 생성합니다. 팁: int * a = new int(); 그런 다음 *a를 표시합니다. private: T *arr; unsigned int _len; 복사 및 할당 연산자에 의한 구성. 두 경우 모두 복사 후 원본 어레이나 복사본을 수정해도 다른 어레이에 영향을 주어서는 안 됩니다. Array(const Array &array) { this->arr = NULL; *this = array; } Array &operator=(const Array &array) { if (this == &ar..
Iter이라는 함수가 있는데 이 함수의 조건을 말해줌. 아무것도 반환하지 않는 함수 템플릿 iter 첫 번째 매개변수는 배열의 주소입니다. 두 번째는 배열의 길이입니다. 세 번째는 배열의 모든 요소에 대해 호출되는 함수입니다. iter.hpp #ifndef WHATEVER_HPP # define WHATEVER_HPP #include template void iter(T *array, int len, void (*func)(T &)) { if (len
재윤
wo_dbs