資料結構 9 雙向鍊錶建立 輸出和測長

2021-07-16 21:59:39 字數 842 閱讀 3222

雙向鍊錶,建立單鏈表,並輸出鍊錶,查詢鍊錶中某個結點元素,測試鍊錶的長度(結點個數)。

雙向鍊錶只是多了乙個左指標,其實作用不大,它的左指標一般也用的少,雙向鍊錶是後面樹的基礎。

#includeusing namespace std;

struct node //node結構體,裡面有兩個個node指標,用來指向上/下乙個node物件

;node* create(int n) //建立鍊錶,引數n表示結點的個數,返回型別是結點指標node*

p->right=null; //建立完成後,p->right為空,最後乙個節點的right位null

head->right->left=null; //建立完成後,第乙個節點的left為null

return head;

}void display(node *head) //輸出鍊錶

coutint len=0;

while(p!=null)

return len; //返回鍊錶結點個數,鍊錶長度

}node* search(node *head,int n) //尋找鍊錶中節點值x=n的結點,引數head表示鍊錶的頭結點,如果找到返回值是找到結點的位址,負責為null

p=p->right;

} return null; //返回鍊錶結點個數,鍊錶長度,這裡也可以寫return p,因為找到最後乙個結點還沒找到,執行p=p->right;p=null

}int main()

資料結構四雙向鍊錶

雙向鍊錶也叫雙鏈表,是鍊錶的一種,它的每個資料結點中都有兩個指標,分別指向直接後繼和直接前驅。所以,從雙向鍊錶中的任意乙個結點開始,都可以很方便地訪問它的前驅結點和後繼結點。而之前的單鏈表為單向鍊錶,雙向鍊錶也就是在單鏈表的結點中增加乙個指向其前驅的pre指標。如圖 這裡介紹雙向鍊錶的常用操作 l ...

資料結構 003雙向鍊錶

雙鏈表 include using namespace std typedef int elemtype typedef struct lnode lnode,linklist 初始化 linklist init linklist 頭插法建立鍊錶 linklist head insert linkl...

資料結構基礎 1 雙向鍊錶

linklist.h ifndef link list h define link list h 1 include include include struct stu struct stu initlist struct stu head void destroylist struct stu ...