关于寻找前驱时,传入节点的判断

来源:3-8 链表编码实战(六)

宝慕林3490596

2017-02-20 12:27

template<typename T>
bool List<T>::PriorElem(T * currentElem, T * preElem)
{
	if (currentElem == m_pList->next)//判断传入节点是否为头结点后面的节点
	{
		return false;
	}
	Node *temp=m_pList;
	Node *tempBefore=NULL;
	while(temp->next != NULL)
	{
		tempBefore=temp;
		temp=temp->next;
		if (temp->data == currentElem->data)
		{
			preElem->data=tempBefore->data;
			return true;
		}
	}
	return false;
}

我用了模板类,这个可以无视,只想知道判断 传入节点 是否为 头结点后面的节点 这个功能有没有必要放在while循环里面

因为不用判断传入的data与链表内的data是否相同,只需要判断节点是否相同即可,老师那样会多出不必要的循环码?

写回答 关注

1回答

  • snaiiil
    2017-03-03 10:46:08
    已采纳

    个人觉得完全可以的,毕竟判断老师的和你的代码都是用结点的位置来判断结点是否相同。老师的还多了一步判断结点值而已。

    宝慕林349...

    非常感谢!

    2017-03-03 21:51:11

    共 1 条回复 >

数据结构探险之线性表篇

线性表的主体顺序表和链表,让学员能够将知识融会贯通学以致用

57563 学习 · 257 问题

查看课程

相似问题