목록C++ (10)
나무 숲
https://www.tutorialspoint.com/cpp_standard_library/vector.htm 이곳을 기반으로 번역, 이해, 연습했습니다. 실제로는 사용 가능한 함수가 훠얼씬 더 많지만 유용하다, 자주 사용될 것 같다~는 것만 추렸습니다. 그런데도 너무 많은 듯 하여 두 가지로 나누었습니다.. - Function 할당 assign 이전의 값을 새로운 값으로 할당합니다. 필요하다면 벡터의 크기가 변경됩니다. fill version assign(n, val) n : 벡터의 크기 val : 각 원소의 값 #include #include using namespace std; int main(void) { vector v1; cout
https://www.tutorialspoint.com/cpp_standard_library/index.htm 이곳을 기반으로 번역, 이해, 연습했습니다. c++ stl중에 제일 중요한 라이브러리 두 가지가 과 이라는데 저는 사실 한 번도 써본적이 없어서..ㅠ;; 한번에 다 하기엔 초보 단계라 하나씩 해보려 합니다~ - Constructor 벡터는 크기를 변경할 수 있는 연속적인 컨테이너입니다. 컨테이너란 같은 타입의 데이터를 모은 객체입니다. 연속 컨테이너는 선형으로 원소를 저장합니다. 벡터는 인접하는 메모리 위치에 원소를 저장하고, 연산자 []를 통해 아무 원소에나 직접적인 접근이 가능합니다. 배열과는 달리, 벡터는 런타임 중 필요한 만큼 축소하거나 확장할 수 있습니다. 벡터의 저장소는 자동으로 관리..
C++에서는 입력을 받을때 cin을 사용합니다. cin은 input/output의 input이므로 istream 부분입니다. 오늘은 이러한 cin의 기능들 중 쓸만하다고 생각되는 것들을 소개합니다. 0. cin.getline(); http://woodforest.tistory.com/141 n; getline(cin, str); 위 코드대로 실행하면 정수 n을 입력받은 후에 문자열을 입력받지 않고 바로 다음 코드로 넘어갑니다. 버퍼에 정수값을 입력한 뒤 누른 엔터가 그대로 남아있어 getline에 들어가기 때문입니다. getline을 이용하기 위해서는 정수값을 입력받은 뒤 cin.ignore()을 사용해 줍니다. 입력 버퍼의 모든 내용이 제거됩니다. int n; string str; cin>>n; get..
cmath에서 유용한 것들을 소개합니다. http://www.cplusplus.com/reference/cmath/?kw=cmath 위 레퍼런스에 보시면 훨~~씬 다양한 기능들이 많지만 자주 사용하는 것만! 왜냐면 저도 보기 위해서 입니다.1. C/C++ 제곱 표현 (Raise to Power)http://www.cplusplus.com/reference/cmath/pow/ pow(base, exponent) base^exponent의 값을 리턴합니다. 1) base가 유한한 음수이고, exponent가 유한하지만 정수가 아닐 때 domain error을 일으킵니다. 2) base, exponent 둘 다 0일 때 특정 실행에 대해 domain error을 일으킵니다. 3) base가 0이고 expone..
std::getline을 이용한다. // extract to string #include #include int main () { std::string name; std::cout
bool a = false; bool b = true; 일 때 cout
C++에서 제공하는 덱 라이브러리 사용법입니다. 앞뒤로 넣고 뺄 수 있는 방식의 덱입니다. 사용 #include deque dq //dq라는 이름의 (자료형) 요소들로 구성된 덱 선언 dq.push_back(값) //덱 dq의 뒤에 값을 넣는다. 리턴 값이 없다. dq.push_front(값) //덱 dq의 앞에 값을 넣는다. 리턴 값이 없다. dq.pop_back() //덱 dq의 back을 삭제한다. 리턴 값이 없다. dq.pop_front() //덱 dq의 front를 삭제한다. 리턴 값이 없다. dq.begin()/dq.end() //덱 dq의 시작과 끝을 iterator로 리턴합니다 dq.front() //덱 dq의 front를 리턴한다. front는 삭제되지 않는다. (peek기능) dq.ba..
C++에서 제공하는 큐 라이브러리 사용법입니다. 선입선출(FIFO) 방식의 큐입니다. 사용 #include queue Q //Q라는 이름의 int 요소들로 구성된 큐 선언 Q.push(값) //큐 Q에 값을 넣는다. 리턴 값이 없다. Q.pop() //큐 Q의 front를 삭제한다. 리턴 값이 없다. Q.front() //큐 Q의 front를 리턴한다. front는 삭제되지 않는다. (peek기능) Q.back() //큐 Q의 back를 리턴한다. back는 삭제되지 않는다. (peek기능) Q.size() //큐 Q의 크기(구성 요소 갯수)를 리턴한다. Q.empty() //큐 Q가 비어있으면(요소가 없으면) 를 1(True)리턴하고 비어있지 않으면 0(False)를 리턴한다. 예제 코드#include..
C++에서 제공하는 스택 라이브러리 사용법입니다. 후입선출(LIFO) 방식의 스택입니다. 사용 #include stack S //S라는 이름의 int 요소들로 구성된 스택 선언 S.push(값) //스택 S에 값을 넣는다. 리턴 값이 없다. S.pop() //스택 S의 top을 삭제한다. 리턴 값이 없다. S.top() //스택 S의 top을 리턴한다. top은 삭제되지 않는다. (peek기능) S.size() //스택 S의 크기(구성 요소 갯수)를 리턴한다. S.empty() //스택 S가 비어있으면(요소가 없으면) 를 1(True)리턴하고 비어있지 않으면 0(False)를 리턴한다. 예제 코드#include #include int main(){ std::stack S; std::cout
(사실 스택과 큐는 C++에서 #include #include 그리고 자바에서 java.util.stack java.util.queue 을 이용하여 직접적인 구현 없이 사용이 가능합니다) 스택 Stack을 한국어로 번역하면 쌓다, 입니다. 이름에서도 알 수 있듯이 데이터를 접시처럼 쌓고, 맨 아래 접시부터 빼면 접시가 무너지기에.. 접시를 사용하려면 맨 위 접시(데이터)를 빼내야 합니다. 이렇게 나중에 들어간 것이 먼저 나오는 구조를 LIFO (Last-In First-Out. 후입선출) 구조라고 합니다. 빈 스택입니다. 맨 위를 top, 맨 아래를 bottom이라고 합니다. 스택에 데이터를 넣는 것을 push라고 합니다. 위 그림은 데이터가 하나뿐이므로 데이터=top=bottom인 상태입니다. 데이터가..