【发布时间】:2015-02-01 23:36:48
【问题描述】:
我希望这个函数 sortPair 获取 2 个节点指针并返回一个指向按字母顺序排序的 2 个元素列表的指针。下面的代码是我到目前为止所拥有的。如果有人能告诉我哪里出错了,那就太好了。
struct Node{
string val;
Node* next;
};
Node* sortPair (Node* p1, Node* p2){
//Assert that neither pointer is null
assert(p1!=NULL);
assert(p2!=NULL);
Node* head=NULL;
Node* current=NULL;
Node* last = NULL;
current = new Node();
if(p1-> val >p2-> val) //If p1->val comes before p2->val in the alphabet
{
current->val = p1->val;
head = current;
last = current;
current = new Node();
current -> val = p2->val;
last = current;
last ->next = NULL;
}
else
{
current->val = p2->val;
head = current;
last = current;
current = new Node();
current -> val = p1->val;
last = current;
last ->next = NULL;
}
return head;
}
【问题讨论】:
-
你哪里出错了?
-
如果您能告诉我们代码出了什么问题,也许我们可以帮助您。
-
不清楚您在寻找什么。如果
p1->val > p2->val,您可以返回p2。否则返回p1。但是,您的要求似乎比这更复杂。
标签: c++ string linked-list