반응형 전체 글142 자료구조 큐(Queue) 공부하기! 안녕하세요 판타지코딩입니다! 오늘은 자료구조 큐(Queue)에 대해서 공부해 보겠습니다! 1. 큐(Queue)란 무엇일까? 큐는 먼저 들어온 데이터가 먼저 나가는 자료구조입니다. 선입선출이라고도 하며, First In First Out(FIFO)라고도 합니다. 그래서 이 자료구조는 아래와 같은 그림으로 표현할 수 있습니다. 그림을 보면 데이터 A가 front라는 위치에 있고, F가 rear에 있습니다. front는 자료구조의 가장 앞 쪽을 의미하며, rear는 뒷쪽을 의미합니다. 데이터 A가 가장 먼저 저장되었고, 그 다음 B, C, D, E, F 순서로 저장되었음을 알 수 있습니다. 그러므로 front와 rear로 어느 데이터가 먼저 들어왔고 어느 데이터가 늦게 들어왔는지 알 수 있습니다. 큐는 먼저 .. 2023. 3. 7. 자료구조 스택(Stack)에 대해서 공부해보자! 안녕하세요 판타지코딩입니다! 오늘은 자료구조 스택에 대해서 공부해 보겠습니다. 1. 스택(Stack)이란 무엇일까? 스택은 마지막에 들어간 데이터가 먼저 나오는 방식으로 LIFO(Last In First Out)라고 합니다. 바로 후입선출이라고도 부릅니다. 위 그림에서 데이터 A가 가장 먼저 들어가고, 그 뒤로 B, C, D 순서로 저장되었습니다. 이것은 A가 가장 먼저 들어가고 D가 마지막에 들어간 것입니다. 마지막에 들어온 D는 가장 위에 있으므로 꺼내기도 수월해 보입니다. 그래서 스택은 마지막에 들어간 데이터가 가장 먼저 나오게 됩니다. 그리고 가장 먼저 들어간 데이터가 마지막에 나오는 구조가 됩니다. 이처럼 스택(Stack)은 가장 먼저 들어간 데이터가 마지막에 나오고, 마지막에 들어간 데이터가 .. 2023. 3. 6. C++ 복사 생성자와 디폴트 복사 생성자 안녕하세요 판타지코딩입니다! 오늘은 복사 생성자와 디폴트 복사 생성자에 대해서 공부해 보겠습니다! 1. 디폴트 복사 생성자 디폴트 복사 생성자는 직접 정의하지 않아도 자동으로 호출되는 생성자입니다. 객체 생성시 기존 객체를 인자로 받아 복사할 때 복사 생성자가 호출되는데, 디폴트 복사 생성자는 정의하지 않아도 자동으로 생성됩니다. 복사할 멤버 변수 중에 동적 할당을 받는 변수가 있다면, 디폴트 복사 생성자가 호출되면 메모리를 할당하는 부분은 복사되지 않고, 메모리의 주소값만 복사됩니다. 그러므로 기존의 객체와 새로 복사한 객체의 멤버 변수가 같은 메모리를 공유하게 됩니다. 이것을 바로 '얕은 복사'라고 합니다. 얕은 복사로 인한 메모리 공유를 막기 위해 깊은 복사를 하기 위해서 '복사 생성자'를 정의합니.. 2023. 3. 2. C++ 복사 생성자 호출하기 안녕하세요 판타지코딩입니다! 오늘은 C++의 복사 생성자를 호출하는 방법을 알아보겠습니다. 복사 생성자는 객체를 생성할 때 기존 객체를 인자로 넣어주면 호출할 수 있습니다. school s1 = s1("Education"); school s2(s1); school 클래스가 있다고 가정하겠습니다. school 타입 객체 s1을 생성하고, 기본 생성자를 호출해서 변수를 "Education"으로 초기화합니다. 그리고 s2를 생성하면서 인자로 s1을 넣어줍니다. 이렇게 코드를 작성하면 s2의 멤버 변수에 s1의 멤버 변수가 복사됩니다. 바로 복사 생성자가 호출되었기 때문입니다. 그럼 오늘은 복사 생성자를 호출하는 방법을 알아보았습니다. 감사합니다! 2023. 2. 27. 이전 1 ··· 17 18 19 20 21 22 23 ··· 36 다음 반응형