У меня есть связанный список, в который я должен вставить объекты, основываясь на одном из полей объекта, я должен вставить узлы в связанный список в правильном порядке.
У меня отлично работала сортировка при использовании массивов и векторов, но у меня возникли проблемы просто с аспектом вставки связанного списка. мой вызов getLink () предназначен для функции, которая получает мою ссылку, которая = next.
void sortedInsert(DomNodePtr& head, string fName, string lName, float CGPA, int rScore,string prov){
DomNodePtr here = head;
DomNodePtr tempPtr;
tempPtr = new DomNode(fName, lName, CGPA, rScore, prov, head);
while (here->getCumGPA() > CGPA && here->getLink() != NULL){
here = here->getLink();
}
if (here->getCumGPA() < CGPA){
tempPtr->setLink(here->getLink());
here->setLink(tempPtr);
}
else if (here->getCumGPA() > CGPA){
here = tempPtr;
}
}
По сути, я хочу, чтобы студенты с наивысшим совокупным средним баллом были отсортированы выше, чем учащиеся с более низким CGPA. Я знаю, что часть моей проблемы заключается в том, что я не включаю студентов с более низким CGPA, но я борюсь с этой частью. Он также выводит около 10 студентов, когда я печатаю связанный список, хотя на самом деле их около 100, и они не в правильном порядке.