Как сортировать отсортированную область связанного списка? - PullRequest
0 голосов
/ 19 января 2020

У меня есть связанный список с каждым узлом, содержащим слово, количество букв слова и сколько раз это слово использовалось:

class Node{
    public:
        string word;
        Node* next;
        short int letterCount;
        short int timesUsed=1;
};

class LinkedList{
    public:
        Node* head;
        LinkedList();
        void insert(string word);
        void sort();
        string search(int lettersUsed, int timesUsed);
        void printList();
};

Я уже отсортировал его по letterCount при вставке. , но теперь мне нужно отсортировать его по timesUsed в каждом отдельном разделе подсчета букв, и у меня возникли проблемы. Я получил его, чтобы перейти к той части списка, которая должна быть отсортирована, но я понятия не имею, как на самом деле сортировать этот подраздел

Вот код сортировки:

void LinkedList:: sort(){
    Node *temp=head;
    bool wentin;
    while (temp->next!=NULL) {
        wentin=false;
        while (temp->letterCount==temp->next->letterCount) {
            //sort by times used here
            temp=temp->next;
            if (temp->next==NULL) {
                wentin=true;
                break;
            }
        }
        if (wentin==true) {
            break;
        }
        temp=temp->next;
    }
}
...