본문 바로가기

분류 전체보기353

Priority Queue(Heap) 우선순위 큐라는것이 있다. 배열.링크드리스트 같이 같은 타입의 변수 여러개를 갖고 있는 자료구조이다. 그런데 이 Queue는 항상 top 값이 원소중에 가장 작은값 or 큰값을 나타내는게 특징이다. 이러한 자료구조를 Heap 이라고하고 stl에서는 priority queue가 이런 기능을 제공함. 근데 동적자료할당에서 얘기하는 heap이랑은 관계없으니 헷갈리지말자 1. #include 2.priority_queue abc; 이렇게하면 큐인데 톱은 항상 제일 큰 놈 리턴 , greater 2020. 5. 22.
C++ map 참고하면 좋은 블로그 https://sarah950716.tistory.com/m/6 map 데이터타입은배열의 일종인데, 인덱스가 숫자가 아니라는 점이 배열과의 차이점이다.예시를 들어 설명하겠다. 1. #include 필요 2. 개념 예시map abc;abc["test1"]=5;abc["test2"]=3; 위의 배열 abc는 멤버변수가 2개인데, 접근하는 인덱스가test1, test2가 된다. 일반적으로 배열,벡터 등은 인덱스가 오직 정수인 것과 구분되는 개념이다. 3.멤버 추가하는 방법map.insert( {"test3", 12} );요런식으로도 추가가 가능하다. 앞서 말했듯 이런 명령말고 그냥 map["test3"] = 12; 이런식으로 해도 효과는 같다 4. 학생 이름 별로 학번,전화번호 정보를 갖.. 2020. 5. 2.
C++ stack 1.#include 필요 2. stack abc; 3. stack.push(5); 4. stack.top() 스택의 top값 리턴 5.stack.pop() 마지막원소 삭제 6. size() 7.empty 8.erase 2020. 5. 1.
c++ sort 1. #include 필요 2. vector 에서 사용 vector abc; sort(abc.begin(), abc.end() ) ; 하면 기본적으로 오름차순으로 정렬됨 ex. 1 2 3 4 5... 3. 배열에서 사용 .int arr[10]; sort(arr,arr+10); 하면 배열 정렬됨. 4. bool compare(int a, int b) { return a > b;} sort(xx , xx , compare); 이렇게 쓰면 내림차순 정렬가능. 5. compare 함수를 적절하게 쓰면 여러가지 데이터타입들을 원하는 규칙으로 정렬가능. ex)string vector abc; bool compare(string a , string b){ 여기서 true로 리턴하는 조건으로 정렬하게됨 return a.. 2020. 4. 29.
C++ string c언어에서 문자열을 사용할 때, char 형태의 배열에 담거나혹은 char* 형태의 포인터 상수를 사용했었다. 그리고 c언어에서 문자열은 마지막에 \0 이 들어가는것으로 구분했었다. 그리고 c언어에서 string과 관련된 여러가지 작업을 하기 위해서 표준 라이브러리를 사용했는데,strcpy, strlen 등의 함수가 그것이다. 한편, C++ 에는 좀 더 문자열과 관련하여 사용자가 다루기 쉽도록 string이라는 데이터타입이 추가되었음. 1) #include 을 호출해서 사용해야 한다. 2) string abc; //이런식으로 선언해서 쓸 수 있다. abc="this is string"; // 이런식으로 abc라는 string 변수에 문자열 대입이 가능하다. abc="change content" // 이런.. 2020. 4. 26.
C++ Queue 사용 C++에서는 Queue를 직접 구현할 필요 없이 간단하게 사용할 수 있게 제공한다. #include 를 추가해서 사용한다. 선언 queue abc; queue abc1; queue abc2; // 이런식으로 벡터를 원소로 갖는 queue도 생성 가능함. 사용 1. push() , pop() push는 queue에 데이터 삽입(제일 뒤에) pop은 queue의 첫번째 데이터 삭제 ※ 이 때. pop은 첫번째 값을 return 하지는 않는다. 요소를 삭제만하는 것에 유의. ex) abc.push(5); // abc라는 q에 데이터 5 add abc.push(6); abc.push(17); // 현재 q의 형태 : [ 5, 6, 17] abc.pop(); // [6,17] 2. front(), back(); .. 2020. 4. 26.
C++ vector 학교 다닐 때 C++을 아주아주 간략하게 배웠고, 그때 당시에 유명했던 열혈강의라는 책으로 C++을 공부했었다.근데 그때 당시에는 STL 이런게 없었던거 같은데알고리즘 공부를 하다보니 요즘에는 STL이라는게 아주 대중적으로 쓰이는것을 알게됐다. 1. vector 데이터타입(?)파이썬에도 이것과 비슷한 데이터타입이 있는걸로 아는데, 기존에 C나 C++에서 사용하던 배열 같은건데 좀 더 편리하고, 링크드리스트 스러운 것들이 좀 추가되었음. #include 를 포함해야하며, vector abc; vector abcd; 변수 선언을 이런식으로 한다. 배열로 따지자면 int arr[8]; char abcd[3]; 이런 느낌이다.그런데 배열은 처음 선언할 때 그 사이즈를 이미 고정시켜서 선언하며 또한 runtime.. 2020. 4. 26.
MCU 클락의 개념. 2020. 4. 20.
아두이노 개발 sw 사용해보기 이제 실제로 아두이노 코딩을 해서 아두이노를 사용해보자. 흰색 넓은 바탕에 글자가 써있는 부분이 우리가 실제로 SW 코딩을 진행하는 부분이다. 코딩을 하고나면, 왼쪽 위에 v 표시 버튼을 누르면 코딩이 제대로 됐는지 문제가 있는지를 알려준다. 코딩을 정상적으로 했다면, 왼쪽 위 버튼중에 ' -> ' 버튼을 누르면 여러분이 코딩한 SW가 아두이노로 다운로드 된다. ( 아두이노 USB가 컴퓨터에 연결되어있어야 함) 아두이노에 해당 SW가 다운로드 되면, SW 코딩된 대로 아두이노가 동작하게 된다. 2020. 4. 20.