检查C中两个Deque容器的相等性

时间:2016-09-01 22:21:17

标签: c deque

我正在尝试实现函数来检查C中的Deque相等。函数的算法应该是:

bool isDequeEqual(Deque d1,Deque d2)
{

    if size of d1 and d2 are different
    then
        return false

    loop from front to rear of both dequeue
       if element at current position of d1 != element at current position of d2
       then 
           return false
       else
           continue

if loop ends return true
}

我已经实现了大部分逻辑但没有得到如何比较d1和d2中当前位置的元素是否相同。 Deque容器所持有的数据类型可以是基本数据类型或派生数据类型。在这种情况下,如何检查当前位置的内容是否相同?

我还尝试检查std::Deque中的实现情况。但我并不完全知道如何在Deque.h库中完成它。

请帮忙。

Edit1:Deque容器可以保存任何数据类型。 int,char数组,结构等。

1 个答案:

答案 0 :(得分:1)

如果deque可以保存任何内容,那么您需要调用者提供比较功能(如qsort参见http://linux.die.net/man/3/qsort)。

他们必须在创建双端队列时提供它并且你必须记住它,或者它必须在所有需要'do element x = element y'概念的函数(如你的平等)上提供。