일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- '0'
- Algorithm
- Critical_Path_Analysis
- sstream
- 13305
- 백준
- red-black tree
- 구현
- 자료구조
- 알고리즘
- Articulation_Point
- 총정리
- sort
- Biconnected_Component
- qsort
- function_template
- connected_component
- class_template
- data_structure
- Pair
- deletion
- Heap
- 예제
- c++
- 문법
- list
- template
- STL
- 5397
- singly Linked List
- Today
- Total
- Today
- Total
- 방명록
목록전체 글 (86)
어제의 나보다 성장한 오늘의 나
sort를 오름차순과 내림차순 중에 결정할 때 compare함수가 사용된다. 특히 에 저장되어 있는 sort 나 heap_sort를 사용할 때 많이 사용된다. 사용법은 동일 하니 STL Sort 함수를 기준으로 알아보자. ① compare 함수 생략 (오름차순) vector v = {4,5,2,1,3}; sort(v.begin() , v.end()); ② compare 함수 (내림차순) bool comp_desc(int a , int b){ return a>b; } vector v1 = {4,5,2,1,3}; sort(v1.begin() , v1.end() , comp_desc); ③ greater 함수 (내림차순) vector v2 = {4,5,2,1,3}; sort(v2.begin() , v2.end..
문제를 풀다보면 연관이 있는 데이터들을 묶어서 사용하고 싶을 때가 있다. 이 때 사용하는 기능이 Pair 와 Tuple이다. Pair는 2쌍 , Tuple은 3쌍 으로 묶을 수 있다. 헤더 파일 Pair -> #include (생략 가능) Tuple -> #include ---------------------------------------------------------------------------------------------------------------------------------- Pair Coding vector v_pair; // vector 에서의 pair 사용. v_pair.push_back(make_pair(1,"first")); // pair는 function 을 통해 만들..
queue를 구현 하는데 int 타입만 담는 queue만을 구현 하지 않고 string을 위한 queue, char를 위한 queue 등, 상황에 따라 여러 type을 담을 수 있는 queue를 구현 하기 위해 공부하게 되었다. 함수나 클래스가 여러 가지 타입에서 사용 될 수 있도록 함수나 클래스의 타입을 상황에 맞게 사용할 수 있도록 도와주는 것. (type : int , double , string , char 등등) 종류 함수 템플릿 (function template) 과 클래스 템플릿 (class template)으로 나뉜다. 사용법 template or template 위 처럼 여러개를 넣을 수도 있고 typename , class 모두 사용가능 하다. ① 함수 템플릿 사용법 함수 선언 temp..
c++ STL container 중 하나인 queue를 구현해봤다. 작동 원리 FIFO (First - In - First - Out) : 먼저 들어온 값이 먼저 나가는 구조. 알고리즘 ※ circular queue circular queue란 rear와 front라는 변수를 통해 array 저장 공간을 효율적으로 사용하는 queue 구현 방법이다. rear는 array 속에 있는 값 중 가장 최근 push된 값의 array index를 나타낸다. front는 array 속에 있는 값 중 가장 먼저 push된 값의 array index를 나타낸다. rear와 front를 잘 조절하면 queue가 empty 한 상태인지 queue가 full 한 상태인지 queue의 size는 몇인지 등등 queue의 상태..
c++ 에서 array를 이용하여 stack을 구현하기. c++의 STL 중 하나인 Stack Container를 구현해봤다. Stack의 동작 원리 -LIFO (Last in First Out) : 가장 마지막에 들어온 값이 가장 먼저 나갈 수 있는 형태이다. 반대로 가장 먼저 들어온 값은 가장 마지막에 나갈 수 있다. Stack의 함수 1) empty - stack이 비어있다면 true를 return, 아니라면 false를 return. 2) push - 값을 stack에 집어넣는다. 3) pop - 가장 최근에 들어온 값을 stack에서 빼낸다. 4) top - 가장 최근에 들어온 값을 return. 5) size - stack의 크기를 return. 가 있다. 구현한 코드 설명 1) empty 스..
1. bubble sort 필요한 그림 : (array에 맨앞 index start ,맨 뒤 index end , 움직이는 index : index ) 시간 복잡도 : O(N^2) (오름 차순 정렬일 때,) 가장 큰 값 부터 가장 작은 값 까지 차례로 오른쪽에 한 개씩 정렬해나가는 방법이다. stable sort이다. ※ stable sort 란 같은 값들이 array에 있을 때, sort 전의 같은 값들끼리의 순서가 sort후에도 보장된다는 것이다. 예를 들어 sort 전 1 3 1 2 5 의 어레이가 있다고 했을 때 sort 후 1 1 2 3 5 가 될 텐데 stable sort를 했다면 sort 전 맨 앞의 1 이 sort 후 맨앞의 1 이되고, unstable sort를 했다면 sort 전 맨앞의..