[問題] linklist 插入的問題
===========片段程式碼===========
struct node
{
int data;
node *pnext;
};
node *phead=0;
void insert(int data)
{
node *pnode=new node;
pnode->data=data;
pnode->pnext=0;
if(phead==0)
{phead=pnode;}
else
{ node *plast=phead;
while(plast->pnext!=0)
{plast=plast->pnext;}
plast->pnext=pnode;
}
}
===================================
以上是我的 創造單向linklist
但我讀到書上說的插入新的節點或刪除就有點問題
假設現在linklist是 phead -> 1 -> 2 -> 3 -> null
照理說要刪除2的寫法是 1->pnext=2->pnext;
然後再釋放2的記憶體即可
而要插入新的linklist 假設linklist是 phead -> P -> Q -> null
新的記憶體叫做R要插入P跟Q中間
寫法是 R->pnext=P->pnext;
R=P->pnext;
================================
但我的問題是像我的程式這樣寫
要怎麼去選定"已經被創造出來的記憶體"
linklist不像stack有名字可以很輕鬆的給變數來當名字
就算我用新宣告的 pnode 跟 plast 去當輔助,指記憶體位置
但要怎麼寫
才能指名我要第N個記憶體位置的pnext,用他來改變指到的記憶體
感覺就像我想寫: blablabla = (plast->pnext)->pnext;
簡單來說我的問題就是
怎麼去使用之前的pnext?
===================================
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.132.171
推
08/06 12:04, , 1F
08/06 12:04, 1F
→
08/06 12:05, , 2F
08/06 12:05, 2F
→
08/06 12:05, , 3F
08/06 12:05, 3F
→
08/06 12:05, , 4F
08/06 12:05, 4F
→
08/06 12:06, , 5F
08/06 12:06, 5F
→
08/06 12:06, , 6F
08/06 12:06, 6F
推
08/06 12:08, , 7F
08/06 12:08, 7F
→
08/06 12:09, , 8F
08/06 12:09, 8F
→
08/06 12:09, , 9F
08/06 12:09, 9F
→
08/06 12:09, , 10F
08/06 12:09, 10F
→
08/06 13:07, , 11F
08/06 13:07, 11F
→
08/06 13:07, , 12F
08/06 13:07, 12F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章