일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자료구조
- 총정리
- connected_component
- list
- Articulation_Point
- data_structure
- Biconnected_Component
- 예제
- '0'
- STL
- sort
- singly Linked List
- qsort
- template
- red-black tree
- Critical_Path_Analysis
- function_template
- c++
- sstream
- deletion
- Heap
- class_template
- 백준
- 구현
- 문법
- Pair
- 13305
- 5397
- 알고리즘
- Algorithm
- Today
- Total
- Today
- Total
- 방명록
목록c++ (40)
어제의 나보다 성장한 오늘의 나
예전에 c에서는 malloc을 사용하고 c++는 new를 사용한다고 배웠었는데, 왜 그럴까?? malloc과 new 는 모두 메모리를 할당하는 함수이다. c에서는 malloc을 , c++ 에서는 malloc 과 new 모두 사용할 수 있다. 각각의 사용법과 상황에 맞는 사용법에 대해 정리해보았다. 헤더 파일 malloc / calloc / realloc : #include new : 없음. Malloc //malloc char * p_char; p_char = (char*)malloc(sizeof(char)); // char 메모리 할당 free(p_char); char * p_chararr; p_chararr = (char*)malloc(sizeof(char) * 10); //char_array 메모리..
c++ 에서 사용되는 메모리를 계산하다보면 변수 타입 마다 얼마의 메모리를 사용하는 지 궁금할 때가 있다. 그래서 오늘은 c++ 언어에서 각 자료형을 사용하는데 몇 byte가 드는지 알아보았다. Coding cout
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 전 맨앞의..