-
선택 정렬 (Selection Sort)언어/C, C++ 2021. 1. 25. 18:24
#pragma once class SelectionSort { private: int* m_data; int m_size; public: SelectionSort(int MAX = 100); ~SelectionSort(); void Sort(); void Swap(int &a, int &b, int &c); void InitData(int* data); int GetSize(); int* GetData(); };
SelectionSort.h
#include "SelectionSort.h" SelectionSort::SelectionSort(int MAX) { m_data = new int[MAX]; m_size = MAX; } SelectionSort::~SelectionSort() { if (m_data) delete[] m_data; } void SelectionSort::Sort() { int size = GetSize(); int* data = GetData(); int temp = 0; for (int last = size - 1; last >= 1; --last) { int largest = 0; for (int current = 1; current <= last; current++) if (data[current] > data[largest]) largest = current; Swap(data[largest], data[last], temp); } } void SelectionSort::Swap(int &a, int &b, int &c) { c = a; a = b; b = c; } void SelectionSort::InitData(int* data) { for (int i = 0; i < m_size; i++) m_data[i] = data[i]; } int SelectionSort::GetSize() { return m_size; } int* SelectionSort::GetData() { return m_data; }
SelectionSort.cpp
'언어 > C, C++' 카테고리의 다른 글
삽입 정렬 (Insertion Sort) (0) 2021.01.26 버블 정렬 (Bubble Sort) (0) 2021.01.25 원형 큐 (Circular Queue) (0) 2021.01.19 연결 리스트 큐 (LinkedList Queue) (0) 2021.01.19 배열 큐 (Array Queue) (0) 2021.01.19