본문 바로가기

자료구조4

C++ queue C++ 표준 라이브러리 Standard Template Library 헤더파일 #include 를 쓰면 사용가능하다 queue는 줄을 서서 기다린다는 사전적의미 그대로 이해하면된다. FIFO 구조 (First In First Out) 먼저 들어온것이 먼저 나간다(선입선출) 그래프의 넓이우선 탐색 BFS(Breadth First Search) 알고리즘 에서 사용한다. 예를들면 이렇게된다. Queue 선언 #include queue q;//int형 큐 선언 queue q;//string형 큐 선언 Queue 값 추가 및 삭제 queue q;//int형 큐 선언 q.push(1);//큐에 값 1 추가 q.push(3);//큐에 값 3 추가 q.push(5);//큐에 값 5 추가 // q.pop();//큐의 맨.. 2021. 7. 14.
C++ stack C++ 표준 라이브러리 Standard Template Library #include 를 선언하면 사용가능하다 LIFO 구조 (Last In First Out) 마지막에 들어온것이 먼저 나가는 구조다. 예를들면 이렇게된다. 그래프의 깊이우선 탐색 DFS(Depth First Search) 알고리즘 에서 사용하며, 함수들의 재귀적(Recursion) 호출에서도 사용된다. 선언 #include // stack이 들어있는 헤더파일 stack s; //int형 스택 선언 stack s; //char형 스택 선언 s.empty() : 비어있는지 확인 비어있으면 True 반환 s.size() : 스택의 크기 출력 s.top() : 맨 위의 원소 리턴 s.push(n) : 맨 위에 원소 추가 stack s; // i.. 2021. 7. 12.
프로그래머스_코딩테스트 연습_스택/큐_다리를 지나는 트럭 문제 이름 : 다리를 지나는 트럭 문제 유형 : 스택/큐 작성 언어 : C++ 다리를 지나는 트럭 문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 경과 시간 다리를 지난 트럭 다리를 건너는 트럭 대기 트럭 0 [] [] .. 2021. 7. 9.
C++ vector Vector는 C++ 표준 라이브러리(Standard Template Library)에 있는 시퀀스 컨테이너입니다. 헤더로는 #include 을 써줘야 사용가능합니다. 목차 1. 초기화 및 생성 2. 요소 접근 3. 요소 삽입 4. 크기 Vector의 초기화 vector 변수명 벡터 생성 vector 변수명(숫자) 숫자만큼 벡터 생성 후 0으로 초기화 vector 변수명 = { 변수1, 변수2, 변수3... } 벡터 생성 후 오른쪽 변수 값으로 초기화 vector 변수명[] = {, } 벡터 배열(2차원 백터)선언 및 초기화(열은 고정, 행은 가변) vector 2021. 7. 3.