慢一點走 單鏈表的基本操作

2021-09-02 22:39:14 字數 1001 閱讀 9461

1.鍊錶的結構體定義

struct listnode 

};

2.鍊錶初始化

在以下所有的操作中,資料的傳遞都依靠head。

listnode* solution::creatlist(void)

3.在鍊錶尾端插入元素

listnode* solution::addlist(listnode* phead, int x)

padd->next = new listnode(x);

return phead;

}

4.顯示鍊錶中的資料

void solution::showlist(listnode *phead)

/*the last data p->next = null ,but p->val != null*/

coutunsigned int solution::listlength(listnode* phead)

return length;

}

6.鍊錶反轉

因為在此系統裡,head節點作為單獨存在,所以比常規操作多出幾步

本質上的流程是ptemp儲存當前操作的兩個節點之後的第三節點的位址

第二個節點的next指向第乙個節點

第乙個節點的位址變為第二個節點的位址

第二個節點的位址變成第三個節點的位址

迴圈直到最後乙個節點

listnode* solution::reverselist(listnode *phead)

else

while(p2->next != null)

p2->next = p1;

phead->next = p2;

return phead;

}

基本操作到此為止,之後會集中對leetcode中煉表相關的問題進行梳理

單鏈表的基本操作

include include typedef struct lnodelnode,linklist 定義單鏈表 void create linklist linklist l 逆序實現 linklist q l for int i 1 i 5 i 正序實現 初始化單鏈表 void printf l...

單鏈表的基本操作

include iostream.h include stdio.h include string.h struct node node create return head node reverse node head delete head head null return pstr void ...

單鏈表的基本操作

由於做的畢業設計用到了鍊錶,所以將就就鍊錶的一些基本的操作自己寫了下來,以後看看吧,省得每次用到鍊錶都要自己寫了,寫一次就行了 很多不合理的地方,以後留著改吧 include include include typedef struct node link link cre link link in...