【发布时间】:2014-08-12 08:36:42
【问题描述】:
我希望能够通过另一种方法(getPrice)进行排序,我的代码是:
void gameListType::sortAscending() {
nodeType<gameType> *current;
nodeType<gameType> *next;
nodeType<gameType> *tempcurrent;
nodeType<gameType> *tempnext;
nodeType<gameType> *tempprev;
nodeType<gameType> *prev;
prev = first;
current = first->link;
next = current->link;
while ( current->link !=NULL){
if (current->info.getPrice() > next->info.getPrice())
{
tempcurrent =current;
tempprev = prev;
tempnext = next;
tempcurrent ->link = tempnext->link;
tempnext ->link= tempprev->link;
}
prev = prev ->link;
current = current ->link;
next = next->link;
}
}
如何更改我的代码,以便我可以根据 getPrice() 方法对节点进行排序?
【问题讨论】:
-
也许你的标签有误? @edit 更好;)
-
您是否考虑过使用
std::list<>- 它有一个sort成员函数,该函数接受一个比较对象,让您可以自定义排序条件...参见here
标签: c++ linked-list iterator