gpt4 book ai didi

C++ - 单链表 - 思想

转载 作者:行者123 更新时间:2023-11-30 04:38:26 27 4
gpt4 key购买 nike

我想编写一种方法,从单向链表中删除具有重复数据值的连续项。该方法应返回移除的项目数。该方法应根据需要清理内存,并应假定内存是使用 new 分配的。

比如传入列表
->a->b->c->c->a->b->b->b->a->null应该导致
->a->b->c->a->b->a->null并返回 3

列表项定义和函数声明如下

结构体{ 字符数据; 下一个项目*;};

int remove_consecutive_duplicates( litem*& list );

I have a simple logic to check the next element recursively & removing the element if its duplicate. 
But, i would like to know how many efficient ways to do this ? All ideas welcome from C++ gurus..

最佳答案

您可以使用 std::list,在向其推送元素之前您必须检查:

if ((*l.rbegin()) == next)
{
return;
}

l.push_back(next);

关于C++ - 单链表 - 思想,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3171362/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com