C++ 실행 시간 측정하기 내가 만든 함수가 얼마나 빠른지를 보기 위해서 실행 시간 측정하는 방법에 대해 알아보겠다. vector를 이용해서 동적 배열로 10개를 만든 다음무작위로 순서를 섞어서 std::sort 를 얼마 만큼의 시간이 들어가는지 측정을 해 볼 것이다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344#include #include #include #include #include using namespace std; class Timer{ using clock_t = std::chrono::high_resolution_clock; using second_t = std::chrono::duratio..
C++ vector을 stack처럼 활용하기 이번에는 vector을 stack처럼 활용하는 방법에 대해서 알아보겠다. stack은 넣는 것을 push라 하고 빼는 것은 pop이라 한다. 1234567891011121314151617181920212223242526272829#include #include using namespace std; void printStack(const vector &stack){ for (auto &e : stack) cout
C++ 난수 생성의 원리와 사용법이번에는 C++에서 난수 생성의 원리와 난수 생성 라이브러리를 사용해 볼 것이다.우선 난수 생성의 원리를 알아보자. 123456789101112131415161718#include using namespace std; unsigned int PRNG(){ static size_t seed = 5523; seed = 8253729 * seed + 2396403; return seed % 37268;}int main(){ for (int count = 1; count
퀵정렬(Quick Sort) 구현 이번에는 퀵정렬 알고리즘을 구현을 해보겠다.퀵정렬이 이미 구현되어 있는 함수도 있기야 하지만 퀵정렬이 어떻게 돌아가는지 알기 위해서 구현을 한번 해보았다.퀵정렬 구현되어 있는 함수 -> qsort() 함수 1234567891011121314151617181920212223242526272829303132333435#include using namespace std;void quick_sort(int data[], int left, int right){ int i, j, key, temp; if (left
qsort() 구조체 정렬하는 법 이번에는 qsort 함수(퀵 정렬)을 구조체 정렬하는 법을 적어보겠다. qsort 기본 사용법은 -> http://aossuper8.tistory.com/39 Quick Sort 알고리즘 구현은 -> http://aossuper8.tistory.com/74 #include using namespace std; typedef struct { char student_number[10]; char name[20]; double subject[5]; }ITEM; int compare(const void *m, const void *n) { return ((ITEM*)m)->subject[3] - ((ITEM*)n)->subject[3]; } int main() { ITEM st..