template
void doubleList
::Sort()
{
vector
temp;
LinkNode
* p = head;
while (p)
{
temp.push_back(p->data);
p = p->link;
}
p = head;
sort(temp.begin(), temp.end());
for (int i = 0; i < temp.size(); i++)
{
p->data = temp[i];
p = p->link;
}
}
//在上述博客中请在有将两个单链表合成一个链表的程序中,添加此函数,并改变以下的函数
/*
void HeadList
::Merge(HeadList
& str) { Sort(); str.Sort(); //下面的代码不改变 } void List
::Merge(List
& ptr) { Sort(); ptr.Sort(); //下面的代码不改变 } void HeadList
:setValue(T data) { if() { //里面的函数不发生改变 } else { //这里面要发生改变 LinkNode
* p=head; p->link=new LinkNode
(data); p=p->link; p->link=NULL; position=p; } } void List
::AppendIncre(const T value) { if() { //这里面的代码不发生变化 } else { LinkNode
* p=head=currPos; p->link=new LinkNode
(value); p=p->link; p->link=NULL; currPos=p; } } */
上述博客中的程序均存在bug,尤其是链表类的程序中,需要在其中添加排序函数!
最新推荐文章于 2022-07-01 16:40:09 发布