对于插入头节点,为什么要新建一个临时节点,完全可以用:
newNode->next = m_pList->next;
m_pList->next = newNode;
这样不是效率更高吗
PS:对于插入最后一个节点,我知道不按照我上述那样搞是为了不让m_pList在执行结束时指向最后一个节点的前一个节点。
我说的没错吧...233333333333
newNode->next = m_pList->next;
m_pList->next = newNode;
这样不是效率更高吗
PS:对于插入最后一个节点,我知道不按照我上述那样搞是为了不让m_pList在执行结束时指向最后一个节点的前一个节点。
我说的没错吧...233333333333
2016-10-15
队列还好点,栈的编码操作也凑合,线性表链表、树有点惊心胆颤了。数据结构的概念性东西比编码要有趣多了。等过两年考研时候再来听吧,先搁置一段时间。
2016-10-14
int List::LocateElem(Node *pNode){
Node *currentNode = m_pList;
for (int i=0; i<m_iLength; i++) {
if (currentNode->next->data == pNode->data) {
return i;
}
currentNode = currentNode->next;
}
return -1;
}
Node *currentNode = m_pList;
for (int i=0; i<m_iLength; i++) {
if (currentNode->next->data == pNode->data) {
return i;
}
currentNode = currentNode->next;
}
return -1;
}
2016-10-12
bool List::GetElem(int i,Node *pNode){
if (i<0||i>m_iLength) {
return false;
}
Node *currentNode = m_pList;
for (int j=0; j<i; j++) {
currentNode = currentNode->next;
}
pNode->data = currentNode->next->data;
return true;
}
if (i<0||i>m_iLength) {
return false;
}
Node *currentNode = m_pList;
for (int j=0; j<i; j++) {
currentNode = currentNode->next;
}
pNode->data = currentNode->next->data;
return true;
}
2016-10-12