[C , C++]
-
C++ vector 중복 원소 삭제[C , C++] 2021. 1. 21. 14:09
1. unique 함수 unique 함수는 vector에서 중복되지 않는 원소들을 앞에서부터 채워나가는 함수 (algorithm 헤더에 정의) 자신이 바꾼 vector의 end()를 반환 (중복 원소들(쓰레기 값들)의 첫 번째 위치 리턴) unique 함수는 앞과 뒤의 원소들을 비교하기 때문에 반드시 정렬을 한 뒤 실행 unique 함수는 erase 함수에 중첩하여 사용 가능 사용 순서 1. sort 벡터를 정렬한다. 2. unique 중복 원소는 벡터의 제일 뒷부분(쓰레기 값)으로 보낸다. 3. erase 중복된 원소들이 있는 뒷 부분을 삭제한다. #include #include #include using namespace std; int main() { vector v; v.push_back(1); ..
-
C++ 위상 정렬 - 연결리스트, 스택[C , C++] 2021. 1. 19. 12:25
코드 출처 C++로 쉽게 풀어쓴 자료구조 11장 class Node { int id; //정점의 id Node* link; //다음 노드의 포인터 public: Node(int i, Node* l = NULL): id(i),link(l) {} int getId() { return id; } Node* getLink() { return link; } }; int vertices[1000]; //정점 배열 Node* adj[1000]; //각 정점의 인접리스트 int inDeg[1000]; //정점의 진입차수 void insertEdge(int u, int v) { adj[u] = new Node(v, adj[u]); } void TopoSort() { //모든 정점의 진입 차수 계산 for (int i =..
-
C++ vector sort() 벡터 클래스 변수 기준 정렬[C , C++] 2021. 1. 13. 13:06
클래스 객체를 담는 벡터에서 클래스 변수 값을 기준으로 벡터를 정렬하는 방법 sort(begin, end, compareFunction) compareFunction에 비교 조건을 정의할 boolean 반환 사용자 정의 함수를 추가해주면 된다. ★const와 &를 통해서 레퍼런스로 받아와야 한다. ★class의 함수를 통해 변수를 알아내려면 그 함수도 const로 정의해야 한다. class object { int var; public: int getVar() const {return var;} }; Colored by Color Scripter cs bool compareFunction(const object &o1, const object &o2) { return o1.getVar() > o2.getV..
-
C++ 포인터 객체 배열 NULL, nullptr 초기화[C , C++] 2020. 12. 17. 14:33
이런 식으로 초기화를 해주면 nullptr로 초기화 되지 않는다. ★올바른 방법★
-
C, C++ 코드 실행 시간 / clock() 함수 / time() 함수[C , C++] 2020. 8. 6. 16:46
오늘은 C, C++ 프로그램에서 코드가 실행되는데 걸리는 시간을 측정하는 방법을 포스팅하겠습니다. C와 C++의 스타일 차이는 크게 헤더파일과 출력 부분이 있으니 본인의 코딩 방식에 맞는 스타일을 사용하면 되겠습니다. 주석 처리한 /*실행 시간을 측정하고 싶은 코드*/ 부분에 본인의 코드를 넣어 사용하면 될 것입니다. 1. clock() 함수를 이용한 방법 clock() 함수는 기본 ms단위로 측정합니다. clock() 함수는 1초에 1000 clock으로 정의되어 있으므로 1 clock은 1ms 입니다. 따라서 미리초 단위가 아닌 초 단위의 측정을 원한다면 최종적으로 구하는 값인 (finish-start)의 값을 CLOCKS_PER_SEC로 나누어 주면 됩니다. C style 1 2 3 4 5 6 7 ..