STL 구현 작성일 2018-10-01 | In Unifox vector ```cpp #pragma once #include namespace JH{ typedef unsigned int size_t; template class vector{ private: T *arr; size_t ncapacity, nsize; void realloc(size_t); //O(n) public: //constructor vector(); //O(1) vector(size_t); //O(n) vector(size_t size, T value); //O(n) //destructor ~vector(){ delete[] arr; } //O(1) //element eccess T at(size_t); //O(1) T operator [] (size_t); //O(1) T front(){ return at(0); } //O(1) T back(){ return at(nsize-1); } //O(1) //iterators T* begin(){ return arr; } //O(1) T* end(){ return arr+nsize(); } //O(1) //capacity bool empty(){ return (nsize==0); } //O(1) size_t size(){ return nsize; } //O(n) size_t capacity(){ return ncapacity; } //O(1) //modifiers void clear(); //O(1) void push_back(T); //amortized O(1) void pop_back(); //amortized O(1) void resize(size_t); //O(n) std::string iterType(); }; 더 읽어보기 »
CPU/함수 잡지식 작성일 2018-09-30 | In Unifox 1. x86 아키텍쳐 cpu 레지스터 C언어 register 키워드 1register int num1 = 10; //변수 num1은 CPU의 레지스터를 사용 변수를 선언할 때 register로 선언을 하면 메모리 대신 CPU 레지스터 사용 일반 변수보다 속도 빠름 레지스터 개수 한정 => register를 붙인다고 해서 모두 레지스터 사용X CPU 레지스터를 사용하므로 메모리에 생성 안됨 => &연산자 사용 불가 레지스터 변수에 주소값 저장하면 * 연산자는 사용 가능 지역 변수에만 사용 가능 더 읽어보기 »
[힙 구조] 이진 힙 작성일 2018-09-23 | In Medium-Algorithm 힙이란? 힙은 최대값 혹은 최소값을 빠르게 찾아내는 것을 목적으로 고안된 트리를 기반(tree-based structure)으로 한 자료구조입니다. 더 읽어보기 »