본문 바로가기
둥지/알고리즘

버블 정렬

by 까닭 2023. 2. 25.
#include <iostream>
#include <vector>

template<typename T>
class DataManager
{
public:
    DataManager() {};
    DataManager(size_t _Size)
    {
        Datas.resize(_Size);
    };

    ~DataManager() {};

    void Swap(T& _Left, T& _Right)
    {
        T Temp(_Left);

        _Left = _Right;
        _Right = Temp;
    }

    bool Compare(const T& _Left, const T& _Right)
    {
        return _Left < _Right;
    }

    void BubbleSort()
    {
        size_t Size = Datas.size();

        for (size_t i = 0; i < Size - 1; ++i)
        {
            for (size_t j = 0; j < Size - 1; j++)
            {
                if (true == Compare(Datas[j], Datas[j + 1]))
                {
                    Swap(Datas[j], Datas[j + 1]);
                }
            }
        }
    }

    size_t Size()
    {
        return Datas.size();
    }

public:
    std::vector<T> Datas;
};

int main()
{
    DataManager<int> Manager(5);

    for (size_t i = 0; i < Manager.Size(); i++)
    {
        std::cin >> Manager.Datas[i];
    }

    Manager.BubbleSort();

    for (size_t i = 0; i < Manager.Size(); i++)
    {
        std::cout << Manager.Datas[i];
    }

    return 0;
}

'둥지 > 알고리즘' 카테고리의 다른 글

[프로그래머스] 컨트롤 제트  (0) 2023.02.26
퀵 정렬  (0) 2023.02.26
Array, Vector 구현  (0) 2023.02.20
[백준 1992] 쿼드 트리  (0) 2023.02.20
리스트 구현  (0) 2023.02.17