设计一个算法,实现从单链表中删除重复元素,并使剩余元素间的相对次序保持不变.
采用链式存储结构实现.只写出主要算法即可.
人气:112 ℃ 时间:2020-09-22 10:42:29
解答
如果是带头指针的话:
void Derepeat(LinkList &L)
{
LinkList p1,p2,p3;
p1=p3=L->next;
p2=L->next->next;
while(p1->next)
{
while(p2->next)
{
if(p2->data==p1->data)
{
p3->next=p2->next;
p2=p2->next;
}
else
{
p3=p3->next;
p2=p2->next;
}
}
p1=p1->next;
p3=p1;
p2=p1->next;
}
}
没运行过不知对不对 希望对你有帮助
推荐
- (数据结构)设计一个算法从顺序表中删除重复元素,并使剩余元素之间的相对次序保持不变.
- 假设顺序表L中的元素按从小到大的次序排列,设计算法以删除表中重复的元素,用C++写,
- 设计算法以删除顺序表中重复的元素,并分析算法的时间性能
- 若一个线性表L采用顺序储存结构储存,其中所有元素为整数.设计一个算法,删除元素值在[x,y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1)
- (x十12)X3=48 解方程
- _千克比20千克多1/4,48千克比_千克少1/5.
- over,across,past,through,cross的用法及区别
猜你喜欢