Сортировка вектора в односвязном списке

по учебе есть задание : Разработать программу сортировки вектора, по убыванию. Элементы вектора вводятся с клавиатуры и хранятся в связанном списке. Создал односвязный список, с помощью рандома заполняю его. Такой вопрос, как сравнивать элементы которые хранятся в списке, ну и соответственно сделать вывод, подскажите пожалуйста. Код :

#include <iostream>
#include <string>
using namespace std;

template<typename T>
class List
{
public:
    List();
    ~List();

    void push_back(T data);
    int GetSize() { return LSize; }

    T& operator[](const int index);

private:
    template<typename T>
    class Node
    {
    public:
        Node *pNext;
        T data;

        Node(T data=T(), Node* pNext = nullptr) 
        {
            this->data = data;
            this->pNext = pNext;
        }
    };
    int LSize;
    Node<T> *head;

};

template<typename T>
List<T>::List()
{
    LSize = 0;
    head = nullptr;
}

template<typename T>
List<T>::~List()
{
}

template<typename T>
void List<T>::push_back(T data)
{
    if (head == nullptr)
    {
        head = new Node<T>(data);
    }
    else
    {
        Node<T>* current = this->head;

        while (current->pNext !=nullptr)
        {
            current = current->pNext;
        }
        current->pNext = new Node<T>(data);
    }
    LSize++;
}

template<typename T>
T& List<T>::operator[](const int index)
{
    int countr = 0;
    Node<T>* current = this->head;
    while (current != nullptr) 
    {
        if (countr == index)
        {
            return current->data;
        }
        current = current->pNext;
        countr++;
    }

}

int main()
{
    setlocale(LC_ALL, "ru");

    List<int> lst;

    int numbcountr;
    cin >> numbcountr;
    for (int i = 0; i < numbcountr; i++)
    {
        lst.push_back(rand() % 10);
    }
    cout << "{ ";
    for (int i = 0; i < lst.GetSize(); i++)
    {
        cout << " " << lst[i] << " ";
    }
    cout << " }";



}

Память не освобождал. Голова уже кипит, сдача завтра, а придумать ничего не могу.


Ответы (0 шт):