已采納回答 / kming
先找到聯(lián)系人位置在刪除,自己寫的,僅供參考void deletePerson(List<Node> *pl,Node *temp){ ? ?Node node; ? ?cout << "請(qǐng)輸入姓名:" << endl; ? ?cin >> node.data.name; ? ?cout << "請(qǐng)輸入電話:" << endl; ? ?cin >> node.data.phone; ? ?int locate = pl-&g...
2016-08-28
已采納回答 / 小白_ing
可以,這樣沒錯(cuò),其實(shí)沒必要再另外建一個(gè)Node的指針變量哈,James老師在LiseDelete()中其實(shí)就沒有再建一個(gè)臨時(shí)的Node指針了哈。
2016-08-28
最新回答 / kming
因?yàn)樵赾語(yǔ)言中沒有對(duì)象這個(gè)東西,函數(shù)和數(shù)據(jù)是獨(dú)立的,函數(shù)要處理List *list,肯定要作為參數(shù)傳進(jìn)來,才能知道函數(shù)要處理的是List *list,c++里面這個(gè)函數(shù)是對(duì)象的成員函數(shù),要處理的就是對(duì)象本身的數(shù)據(jù),可以省略,也可以傳入*this
2016-08-28
BOOL ListInsert(List *list,int i,Elem *e);//在第i個(gè)位置上插入元素
BOOL ListDelete(List *list,int i,Elem *e);//刪除第i個(gè)位置的元素
void ListTraverse(List *list);//遍歷線性表
BOOL ListDelete(List *list,int i,Elem *e);//刪除第i個(gè)位置的元素
void ListTraverse(List *list);//遍歷線性表
2016-08-24
int LocateElem(List *list,Elem *e);//尋找第一個(gè)滿足e的數(shù)據(jù)元素的位序
BOOL PriorElem(List *list,Elem *currentElem,Elem *preElem);//獲取指定元素的前驅(qū)
BOOL NextElem(List *list,Elem *currentElem,Elem *nextElem);//獲取指定元素的后繼
BOOL PriorElem(List *list,Elem *currentElem,Elem *preElem);//獲取指定元素的前驅(qū)
BOOL NextElem(List *list,Elem *currentElem,Elem *nextElem);//獲取指定元素的后繼
2016-08-24
BOOL InitList(List **list);//創(chuàng)建線性表
void DestroyList(List *list);//銷毀線性表
void CleanList(List *list);//清空線性表
BOOL ListEmpty(List *list);//判斷線性表是否是空
int ListLength(List *list);//獲取線性表長(zhǎng)度
BOOL GetElem(List *list,int i,Elem *e);//獲取指定元素
void DestroyList(List *list);//銷毀線性表
void CleanList(List *list);//清空線性表
BOOL ListEmpty(List *list);//判斷線性表是否是空
int ListLength(List *list);//獲取線性表長(zhǎng)度
BOOL GetElem(List *list,int i,Elem *e);//獲取指定元素
2016-08-24
最新回答 / Posin丶biting
不知道你問的是順序表還是鏈表,如果是順序表的話就是要?jiǎng)h除元素后一位元素開始,依次往前移動(dòng)一位即可。然后Length--就可以了。鏈表的話,這樣應(yīng)該說不通!
2016-08-22
好像明白了。。。插入到length的位置上相當(dāng)于把數(shù)組延長(zhǎng)一個(gè)單位
2016-08-21
最后一個(gè)位置不應(yīng)該是length-1嗎,怎么會(huì)是length,感覺插入失敗的條件應(yīng)該為i<0或者i>=length
2016-08-21