MoonBug

고정 헤더 영역

글 제목

메뉴 레이어

MoonBug

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기
    • Portfolio
      • Toy Project
      • 쥐돌이볼링
    • Trip
    • Cooking
    • Game
    • Diary
      • 잡생각
    • C++
      • Baekjoon
      • Programmers
      • 개념공부
      • STL
    • Study
      • Linux
      • Graphics
      • UNREAL
      • Computer Network
      • 강화학습
      • Algorithm
      • OS

검색 레이어

MoonBug

검색 영역

컨텐츠 검색

C++/STL

  • STL :: list

    2024.02.02 by J2on

  • STL :: vector

    2024.02.02 by J2on

  • STL :: array<type, num>

    2024.02.02 by J2on

  • STL :: algorithm - next_permutation() (순열, 조합)

    2024.01.25 by J2on

  • STL :: pair ( 두 데이터 타입을 쌍으로 묶기 )

    2024.01.24 by J2on

  • STL :: map ( 마치 vector에 pair를 저장한 것 같은 )

    2024.01.24 by J2on

  • STL :: Algorithm - sort() (정렬)

    2024.01.24 by J2on

  • STL :: set ( 중복 탐색 시 용이 )

    2024.01.24 by J2on

STL :: list

동적 배열에 사용되는 자료구조이다. Doubly Linked LIst 형태로 구현되어 있어 앞뒤로 요소 삽입이 가능하다는 특징이 있다. 자 지금까지 array나 vector 같은 배열들의 경우는 연속된 메모리 공간에 할당되어 Random Access가 가능했다. (A[3] 이런 접근) 하지만 List가 linked list 형태로 제작되었다는 건? ⇒ 메모리 상에서 연속된 공간이 아니라는 것 ⇒ 인접 Node에 저장된 pointer로만 접근이 가능하다는 것 때문에 list는 Random Access가 불가능하다. 오직 Iterator를 이용한 접근 만이 가능하다. 그래서 이런 구조가 유용하지 않은가? 그건 아니다. 이런 Linked List 형태는 중간에 요소를 삽입하거나 삭제하는 과정이 매우 간단하다...

C++/STL 2024. 2. 2. 22:19

STL :: vector

vector! vector는 동적 배열 (Dynamic array)를 나타내는 컨테이너형 자료구조 일반적인 사용방법 #include #include int main() { // std::vector 선언 및 초기화 std::vector myVector = {1, 2, 3, 4, 5}; // 벡터 크기 std::cout

C++/STL 2024. 2. 2. 22:01

STL :: array<type, num>

기본적으로 C에서의 std::array와는 다른 것 #include array arr 이 형태로 사용한다. STL 중 하나로 std::array와 유사한 정적 배열로써 사용이 된다. #include #include int main() { // std::array 선언 및 초기화 std::array myArray = {1, 2, 3, 4, 5}; // 배열 요소에 접근 std::cout

C++/STL 2024. 2. 2. 21:45

STL :: algorithm - next_permutation() (순열, 조합)

next_permutation은 순열과 조합에서 사용하기 좋은 함수 #include algorithm 헤더를 통해 사용할 수 있다. next_permutaion은 오름차순으로 정렬된 콘테이너에 대해 하나씩 이동하며 내림차순으로 변경한다. 반복문에서 사용하면 이렇게 매 반복마다 변하는 과정을 보여준다. 이를 바탕으로 순열과 조합에서 사용할 수 있다. do{ // 순열을 통해 하고싶은 동작 } while (next_permutation(oprVec.begin(), oprVec.end())); 이 형태로 사용하게 되면 next_permutation이 정렬하는 과정에서는 매 반복마다 true를 return하지만, 끝나면 false를 return해서 유용하게 사용할 수 있다. back tracting에서 유용하게..

C++/STL 2024. 1. 25. 22:56

STL :: pair ( 두 데이터 타입을 쌍으로 묶기 )

Pair의 기본 개념 두 값의 묶음: 두 개의 값을 하나로 묶어서 저장. 첫 번째 값은 first에, 두 번째 값은 second에 저장 map의 각 element를 pair로 받아올 수 있다. 기본 사용법 선언과 초기화 cppCopy code #include std::pair myPair; // 빈 pair 선언 값 할당 cppCopy code myPair.first = 42; myPair.second = "Hello"; 생성자를 통한 초기화 cppCopy code std::pair myPair(42, "Hello"); 주요 기능 원소 접근 cppCopy code std::cout

C++/STL 2024. 1. 24. 18:54

STL :: map ( 마치 vector에 pair를 저장한 것 같은 )

Map의 기본 개념 키-값 쌍 저장: 키와 값의 쌍을 저장하는 연관 컨테이너. 각 키는 고유하며, 키에 대응하는 값이 저장됨. 자동 정렬: 키를 기준으로 자동으로 정렬. 기본적으로는 오름차순 정렬 빠른 검색 및 삽입: 이진 검색 트리로 구현되어 있어 빠른 검색 및 삽입 속도 기본 사용법 선언과 초기화 cppCopy code #include std::map myMap; // 빈 map 선언 원소 삽입 cppCopy code myMap[1] = "One"; myMap[2] = "Two"; myMap[3] = "Three"; 원소 접근 cppCopy code std::cout

C++/STL 2024. 1. 24. 18:50

STL :: Algorithm - sort() (정렬)

sort() 함수는 algorithm 헤더를 이용해서 사용할 수 있다. 기본적으로 sort(vec.begin(), vec.end()); 이 형태로 사용할 수 있는데, 내가 원하는 상태로 정렬할 수 있다. bool comp(int a, int b){ return a > b; } 여기서 True를 return하게 되면 a가 앞에 정렬된다. true면 두 parameter의 순서대로, false면 두 parameter의 순서를 바꾼다고 생각하자.

C++/STL 2024. 1. 24. 18:42

STL :: set ( 중복 탐색 시 용이 )

Set의 기본 개념 정렬된 컨테이너: 'set'은 정렬된 컨테이너로, 원소들이 항상 정렬된 상태를 유지. 기본적으로는 오름차순으로 정렬 고유한 원소: 중복된 원소를 허용하지 않는다. 각 원소는 고유한 값 검색 및 삽입 속도 향상: 빠른 검색 및 삽입 속도. 내부적으로 레드-블랙 트리로 구현 기본 사용법 선언과 초기화 #include std::set mySet; // 빈 set 선언 원소 삽입 mySet.insert(42); mySet.insert(25); mySet.insert(63); 원소 제거 mySet.erase(25); 반복문 활용 for (auto it = mySet.begin(); it != mySet.end(); ++it) { std::cout

C++/STL 2024. 1. 24. 16:23

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
MoonBug © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바