반응형

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

단순 연결리스트 (단순 연결리스트) [C++ 소스]

단순 연결리스트 (단순 연결리스트) [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//단순 연결리스트#include using namespace std;class SimpleLinkedList{ struct Node //단순 연결리스트의 노드 { int data; Node *next; Node(int data=0) { this->data = data; next = 0; } }; Node *head; //연결리스트 맨 앞 노드의 위치 정보 Node *tail; //연결리스트 맨 뒤 노드의 위치 정보public: class Iterator//연결 리스트에 보관한 데이터를 탐색하기 위한 반복자 { Node *node;//현재 노드의 위치 정보 public: friend class Simpl..

STL vector 인덱스 사용 [C++ 소스]

STL vector 인덱스 사용 [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(i..

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

STL vector 사용정렬 상태를 유지하면서 보관(특정 키 순으로 보관) [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();//화면을 지우는 메서..

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

STL vector 사용, 순차 보관 [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 timeflo..

삽입 정렬(Insertion Sort) [C++ 소스]

삽입 정렬(Insertion Sort) [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//Program.cpp#include "common.h" template //삽입 정렬(base:배열의 시작 주소, n: 원소 개수, compare:비교 논리)void insertion_sort(data *base, size_t n, compare com){ for(size_t i=1; in) { for(size_t j=i; j>0;j--)//반복(j:=i->1) { if(com(base[j-1],base[j])>0)//조건(compare(base[j-1], base[j]) > 0) { swap(base[j-1], base[j]);//교환(base[j],base[j-1]) } else//조건이 거짓..

선택 정렬(Selection Sort) [C++ 소스]

선택 정렬(Selection Sort) [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//Program.cpp#include "common.h" template //선택 정렬(base:배열의 시작 주소, n: 원소 개수, compare:비교 논리)void selection_sort(data *base, size_t n, compare com){ for(size_t i=0; in) { size_t min = i;//min=i for(size_t j=i+1; jn) { if(com(base[min],base[j])>0)//조건(compare(base[min], base[j]) > 0) { min = j;//min := j } } swap(base[i],base[min]);//교환(base..

거품 정렬 (Bubble Sort) [C++ 소스]

거품 정렬 (Bubble Sort) [C++ 소스]"본문 내용"은 언제나 휴일 본 사이트에 있습니다.//Program.cpp #include "common.h" template //거품 정렬(base:배열의 시작 주소, n: 원소 개수, compare:비교 논리) void bubble_sort(data *base, size_t n, compare com) { for(size_t i=n; i>1; i--) //반복(i:=n->1) { for(size_t j=1; ji) { if(com(base[j-1],base[j])>0)//조건(compare(base[j-1], base[j]) > 0) { swap(base[j-1], base[j]);//교환(base[j-1],base[j]) } } } } #define..

순차 정렬 (Sequential Sort) [C++ 소스]

순차 정렬 [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다. //Program.cpp#include "common.h" template //순차 정렬(base:배열의 시작 주소, n: 원소 개수, compare:비교 논리)void sequential_sort(data *base, size_t n, compare com){ for(size_t i = 0; in) { for(size_t j=i+1; jn) { if(com(base[i],base[j])>0)//조건(compare(base[i], base[j]) > 0) { swap(base[i],base[j]); //교환(base[i],base[j]) } } }} #define MAX_DATA 1000 int main(){ Member *b..

반응형