반응형

전체 글 429

[자료구조] 그룹 액티비티 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..

[컴퓨터네트워크]

FTPFTP는 파일전송을 위해 두 개의 TCP 연결을 사용합니다. 여기서 핵심은 제어 연결과 데이터 연결을 구분하는 방식에 있습니다.  FTP는 두 개의 TCP를 동시에 사용합니다. FTP는 데이터를 전송할 때 제어 연결과 데이터연결을 분리해 아웃 오브 밴드로 제어 정보와 별도로 통로를 통해 전송이 됩니다. 웹 캐싱웹 캐싱은 클라이언트가 웹 리소스를 로컬 저장소에 저장해 두고 재사용함으로써 성능을 향상하는 기법입니다. 캐시를 사용하면 웹 트래픽을 줄이고 페이지 로딩 속도를 개선할 수 있지만, 캐시된 데이터가 최신이 아닐 수 있다는 문제가 있습니다.  웹캐싱의 장점캐싱은 객체에 저장해 두고, 이를 재사용함으로써 트래픽의 양을 줄이고 성능을 향상할 수 있습니다. 문제점은 캐시에 저장된 객체가 최신 정보가 아..

리눅스 정리

chmod 명령어에 관한 정리chmod u=rwx, a=rx 이런 식으로 명령이 주어졌을 때 change mode의 약자가 chmod입니다. 파일이나 디렉토리의 접근 권한을 변경하는 명령어로  chmod u=rwx,a=rx foo.txt는 foo.txt 권한을 변경하는 명령어입니다.u = rwx : 파일 소유자에게 읽기, 쓰기, 실행권한을 모두 부여하는 것을 의미합니다.a = rwx : 이 경우 모든 사용자(소유자, group, other) 모두에게 읽기, 쓰기, 실행을 모두 부여함을 의미합니다.rwx 는 111로  7로 변환됩니다. rx의 경우 5로 변환됩니다. 리눅스의 파일 권한리눅스에서 파일 권한은 파일의 앞에 drwxr-x--x 이런 방식으로 나타납니다. 이 경우에 소유자는 rwx, 그룹은 r-x..

[자료구조] 그룹액티비티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 ..

반응형