将单链表的所有元素相互比较(C ++)

时间:2014-10-21 00:47:52

标签: c++ for-loop linked-list comparison

我正在尝试实现一个将单链表的所有节点相互比较的函数。

例如,假设我有一个包含8个节点的链表。 (但我没有计算告诉我的事情)

我需要将1与2,3,4,5,6,7和8进行比较。然后我需要将2与3,4,5,6,7和8进行比较。显然,我可以' t比较1与1,8与8比较,2与1比较1和2比较。

我知道这是一个双循环,但我很难构建这个。

任何人都可以提供任何见解或伪代码吗?

我认为它是这样的:

//I know already that the list is NOT empty. But I don't know if it contains only one node.

Node * current = list;
Node * compWith;

if (current->next != NULL)
{
   for (current = list; current->next != NULL; current = current->next)
      for (compWith = current->next; compWith->next != NULL; compWith = compWith->next)
         //Compare here
}

但是我并不完全确定我的循环在正确的时间停止,我想我在某处进行双重比较。任何见解或伪代码?

0 个答案:

没有答案