반응형

IT 프로그래밍/자료구조 38

[자료구조] 과제2

프로그래밍 과제2번#include #include using namespace std;int main() { int n; cout > n; vector isPrime; for (int i = 0; i  사용자는 n 값을 입력받습니다. 이 n 값은 우리가 구하고자 하는 소수의 범위(0부터 n까지)를 지정하는 값입니다.n 값에 따라 소수를 구하는 범위가 결정됩니다.isPrime 벡터는 0부터 n까지의 모든 숫자를 포함하도록 초기화됩니다.isPrime[i]는 i가 소수인지 여부를 나타냅니다. 초기에는 모든 숫자를 소수로 가정하고, 나중에 소수가 아닌 숫자들을 0으로 만듭니다.이 벡터의 인덱스가 해당 숫자를 나타내며, 소수가 아닌 숫자는 0으로 변경됩니다. isPrime.begin() + ..

[자료구조] 그룹 액티비티 3

1. 입력으로 두 개의 연결리스트를 받아서 첫 번째 연결리스트의 맨 끝에 두 번째 연결리스트를 연결하여 하나의 연결리스트로 합치는 일을 하는 concatenate를 작성하라. 새롭게 만들어진 연결리스트의 head 노드의 주소를 반환해야 합니다. 입력으로 들어온 연결리스트는 empty list 일 수도 있습니다.struct Node { int data; Node* next;};Node *concatenate(Node* first, Node* second){ //첫 번째 리스트가 비어있으면 두 번째 리스트 반환 if (first == nullptr) return second; //첫 번째 리스트의 끝으로 이동 Node* current = first; whil..

[자료구조] 그룹액티비티2

#include // 표준 입출력 라이브러리 포함#include // 벡터 라이브러리 포함using namespace std;int main() { vector g1; // 정수형 벡터 g1을 선언 (현재 비어 있음) for (int i = 0; i #include #include #include using namespace std;int main() { vector g1; for (int i = 1; i  vector g1;:정수형 벡터 **g1**을 선언합니다. 초기에는 아무 값도 들어 있지 않으므로 빈 벡터입니다.for (int i = 0; i :반복문을 사용하여 0부터 4까지의 값을 벡터에 추가합니다.push_back() 함수는 벡터의 끝에 새로운 요소를 추가하는 함수..

[자료구조] 프로그래밍과제1 그룹액티비티

#include using namespace std;int main (){ int firstvalue, secondvalue; int* mypointer; mypointer = &firstvalue; *mypointer = 10; mypointer = &secondvalue; *mypointer = 20; cout 10, 20 결과값 출력 #include using namespace std;int main (){ int firstvalue = 5, secondvalue = 15; int* p1, * p2; p1 = &firstvalue; p2 = &secondvalue; *p1 = 10; *p2 = *p1; p1 = p2; *p1 = 20; cout 10, 20 결과값 출력 먼ㅁ저 5와 15ㅊ로 초기화된..

스택과 C++ STL 컨테이너

C++ 컨테이너를 이용한 스택의 구현C++의 벡터나 list는 스택이 필요한 모든 기능을 갖추고 있음스택은 데이터의 삽입과 삭제가 한 쪽 끝에서만 일어나는 리스트의 특수한 경우에 지니지 않으므로 당연합니다.따라서 vector 혹은 list를 이용하여 간단히 스택을 구현할 수 있습니다.하나의 자료구조를 구현할 때 다른 자료구조가 제공하는 기능을 그대로 이용하여 구현하는 방식을 보통 delegation(위임)이라고 부릅니다.혹은 이런 방식으로 구현된 클래스를 adapter class라고 부르기도 합니다.받은 일거리를 직접 하지 않고 넘기는 것을 위임이라고 합니다. 시스템 자체가 실질적으로 자신이 하는 일이 없어 포장지만 갈아끼우면서 실제 일은 다 데이터멤버로 가지고 있는 컨테이너가 제공하는 데이터로 하는 것..

[자료구조] Generic 프로그래밍과 C++ Template

Function Template두 값을 비교하여 -1, 0, 혹은 1을 반환하는 함수가 필요하다고 가정단, 정수, 실수, string 등의 서로 다른 타입에 대해서 이런 일을 하는 함수가 필요그렇다면 각 타입에 대해 별개의 함수를 만들어야 함이 세 함수들은 완벽하게 동일한 로직이지만 데이터의 타입이 다르므로 별개로 구성해야 함int compare(string &v1, string &v2) {if (v1  Function Template함수 탬플럿은 하나 혹은 그 이상의 타입명을 매개변수로 하여 작성된 함수를 말합니다.매개변수 타입은 실제로 이 함수를 호출할 때 결정되고그때 컴파일러에 의해 실제 함수가 생성됩니다.template int compare(T &v1, T &v2){ if (v1   Bubble ..

반응형