[英]Pointer base and top for linked list in C
基於鏈表的數據結構堆棧具有基礎指針和頂部指針
指向堆棧的成員。
struct node
{
struct node* next;
int val;
};
struct stack
{
struct node* base;
struct node* top;
}
所以我的問題是我們可以使用相同的方法來創建鏈接列表嗎?
如果我們想將新成員添加到列表的末尾,則不需要
遍歷整個列表。
struct listnode
{
struct listnode* next;
int val;
};
struct linkedlist
{
struct listnode* base;
struct listnode* top;
}
這合適嗎?
純堆棧僅需要頂部指針。 也許您正在使用該數據結構作為queue ,從頭開始添加到末尾。
鏈表只需要一個頭 ,但對於追加到最后一個尾巴將是有益的。
struct linkedlist
{
struct listnode* head;
struct listnode* tail;
int count; // Might be useful
}
(我使用了常規名稱。)
可能有人會提到雙重鏈表 :
struct node
{
struct node* previous;
struct node* next;
int val;
};
這將允許頭和尾的完全對稱使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.