已采纳回答 / Squirre_lMan
你好,我的理解是:clearList只是将节点删除,但是这个链表空间还在,而第一个节点储存了链表空间的地址。所以,要使用ListEmpty才可以完全删除。(根据数组推断的,仅供参考)
2017-01-09
删除时判空
bool List::ListDelete(int i, int *e)
{
if(ListEmpty())
{
return false;
}
...
bool List::ListDelete(int i, int *e)
{
if(ListEmpty())
{
return false;
}
...
2017-01-07
插入过程 让 m_iLength+1不超过m_iSize
bool List::ListInsert(int i, int *e)
{
if(i<0||i<=m_iLength)
{
return false;
}
if(m_iLength+1>m_iSize)
{
return false;
}
for(int k=m_iLength-1;k>=i;k--)
{
m_pList[k+1] = m_pList[k];
}
m_pList[i] = *e;
m_iLength++;
return true;
}
bool List::ListInsert(int i, int *e)
{
if(i<0||i<=m_iLength)
{
return false;
}
if(m_iLength+1>m_iSize)
{
return false;
}
for(int k=m_iLength-1;k>=i;k--)
{
m_pList[k+1] = m_pList[k];
}
m_pList[i] = *e;
m_iLength++;
return true;
}
2017-01-07
回复楼下:这些数据结构在php中都有对应的实现,可以直接使用,你不用重新造轮子。SplQueue SqlStack SqlDoublyLinkedList
2017-01-06
已采纳回答 / 黑巫师0
老师讲的单链表是有表头结点的,表头结点并不存储数据,只是一个牵头作用,方便我们通过它来寻找到链表的其他所有元素。因此单链表的元素个数也不把它包括在内,第0个结点就是表头结点的下一个结点。希望对你有所帮助~
2016-12-26