반응형

C++/디딤돌 자료구조와 알고리즘 with C++ 38

퀵 정렬 (Quick Sort) 알고리즘 [C++ 소스]

퀵 정렬 (Quick Sort) 알고리즘 [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//common.h#pragma once#include #include #include #include #include #include using namespace std; class Member{ string name; int num;public: Member(string name,int num) { this->name = name; this->num = num; } string GetName()const { return name; } int GetNum()const { return num; } void View()const { cout

STL list 흉내내서 만들기 [C++]

STL list 흉내내서 만들기 [C++] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//list.h#pragma oncenamespace ehlib{ template class list { struct node { Data data; node *prev; node *next; node(Data data=0) { this->data = data; prev = next = 0; } }; node *head; node *tail; int count; public: class iterator { node *now; public: iterator(node *now=0) { this->now = now; } Data operator *()const { return now->data; } operator n..

STL vector 흉내내서 만들기 [C++]

STL vector 흉내내서 만들기 [C++] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//vector.h#pragma oncenamespace ehlib{ template class vector { Data *base; size_t bcapacity; size_t bsize; public: class iterator { Data *pos; public: iterator(Data *pos=0) { this->pos = pos; } Data operator *()const { return *pos; } int operator-(const iterator &iter)const { return pos - iter.pos; } iterator &operator++() { pos++; return (*t..

라운드 로빈 스케쥴러 시뮬레이션 [C++]

라운드 로빈 스케쥴러 시뮬레이션 [C++] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//EHProcess.h#pragma once#include #include using namespace std; class EHProcess{ string pname; //프로그램 이름 const int tjob; //전체 작업량 const int cjob; //cpu 점유 시 수행가능 최대 작업량 int ntjob; //현재 남은 작업량 int ncjob; //현재 cpu 점유 시 수행가능 최대 작업량public: EHProcess(string pname,int tjob,int cjob); void IdleToReady();//Idle 상태에서 Ready 상태로 전이 int Running();//CPU를 점유..

원형 큐 [C++소스]

원형 큐 [C++소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//원형 큐#include using namespace std; class Queue{ int *buffer; const int size; int front; int rear; public: Queue(int size):size(size) { buffer = new int[size]; front = rear = 0; } ~Queue() { delete[] buffer; } bool Put(int data) { if(IsFull()) { return false; } buffer[rear] = data; rear = Next(rear); return true; } int Get() { if(IsEmpty()) { return 0; } ..

스택 [C++ 소스]

스택 [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//스택#include using namespace std; class Stack{ int *buffer; const int size; int top;public: Stack(int size):size(size) { top = -1; buffer = new int[size]; } ~Stack() { delete[] buffer; } bool Push(int data) { if(IsFull()) { return false; } top++; buffer[top] = data; return true; } int Pop() { if(IsEmpty()) { return 0; } int re = buffer[top]; top--; return ..

STL list 사용, 정렬 상태를 유지 (특정 키 순으로 보관) [C++ 소스]

STL list 사용, 정렬 상태를 유지 (특정 키 순으로 보관) [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//ehglobal.h#pragma once#pragma warning(disable:4996)#include using std::string;#include using std::cout;using std::cin;using std::ostream;using std::endl;#include #include enum keydata{ NO_DEFINED,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,ESC}; //공통적으로 사용할 정적 메서드를 캡슐화한 클래스class ehglobal{public: static void clrscr();//화면을 지우는 메서드 sta..

STL list 사용, 순차 보관 [C++ 소스]

STL list 사용, 순차 보관 [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//ehglobal.h#pragma once#pragma warning(disable:4996)#include using std::string;#include using std::cout;using std::cin;using std::ostream;using std::endl;#include #include enum keydata{ NO_DEFINED,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,ESC}; //공통적으로 사용할 정적 메서드를 캡슐화한 클래스class ehglobal{public: static void clrscr();//화면을 지우는 메서드 static void timeflow(..

이중 연결리스트 [C++ 소스]

이중 연결리스트 [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//이중 연결리스트#include using namespace std; class DoubledLinkedList{ struct Node { int data; Node *prev; Node *next; Node(int data=0) { this->data = data; prev = next = 0; } }; Node *head; Node *tail;public: class Iterator//연결 리스트에 보관한 데이터를 탐색하기 위한 반복자 { Node *node;//현재 노드의 위치 정보 public: friend class DoubledLinkedList;//연결리스트에서는 모든 멤버에 접근 권한 부여 Iterator(..

반응형