У меня есть связанный список с каждым узлом, содержащим слово, количество букв слова и сколько раз это слово использовалось:
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;
}
}