對于插入頭節(jié)點,為什么要新建一個臨時節(jié)點,完全可以用:
newNode->next = m_pList->next;
m_pList->next = newNode;
這樣不是效率更高嗎
PS:對于插入最后一個節(jié)點,我知道不按照我上述那樣搞是為了不讓m_pList在執(zhí)行結(jié)束時指向最后一個節(jié)點的前一個節(jié)點。
我說的沒錯吧...233333333333
newNode->next = m_pList->next;
m_pList->next = newNode;
這樣不是效率更高嗎
PS:對于插入最后一個節(jié)點,我知道不按照我上述那樣搞是為了不讓m_pList在執(zhí)行結(jié)束時指向最后一個節(jié)點的前一個節(jié)點。
我說的沒錯吧...233333333333
2016-10-15
隊列還好點,棧的編碼操作也湊合,線性表鏈表、樹有點驚心膽顫了。數(shù)據(jù)結(jié)構(gòu)的概念性東西比編碼要有趣多了。等過兩年考研時候再來聽吧,先擱置一段時間。
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