單鏈表和雙向迴圈鍊錶的建立 初始化 以插入(二)

2021-07-28 14:47:53 字數 1150 閱讀 9652

對於雙向迴圈鍊錶的建立可從下圖理解:
由上圖可清晰的知道雙向迴圈鍊錶的結構,即對於乙個newnode插入鍊錶是首先應該將newnode的prev指向current,即newnode->prev=current;再將newnode的next指向current的next;
即newnode->next=current->next;再將current的之前的下乙個元素即15所指代的結構體指向newnode即current->next-》prev=newnode; 最後再將current的next指向newnode;current->next=newnode;
雙向
#include "stdafx.h"

#include#includetypedef int elemtype;

typedef struct node

lnode,*listnode;

void initnode(listnode & head)

void createlist(listnode &head)

else

pnode = temp;

temp = (listnode)malloc(sizeof(lnode));

scanf("%d", &temp->number);

}}int topinsertlist(listnode &head,listnode &tnode)

else

return 0;

}void tailinsertlist(listnode & head,listnode tnode)

if (node->next == head)

}void printlist(listnode head)

listnode node;

node = head;

while (node->next != head)

printf("%d", node->number);

printf("\n");

}int main()

單鏈表 迴圈鍊錶 雙向鍊錶的比較

查詢表頭結點 首元結點 查詢表尾結點 查詢結點 p的前趨節點 帶頭結點的單鏈表l l next 時間複雜度o 1 從 l next 依次向後遍歷 時間複雜度o n 通過 p next 無法找到其前驅 帶頭結點僅設頭指標l的迴圈單鏈表 l next 時間複雜度o 1 從 l next 依次向後遍歷 時...

迴圈單鏈表,雙向鍊錶,順序棧

迴圈單鏈表是單鏈表的另一種形式,其結構特點鍊錶中最後乙個結點的指標域不再是結束標記,而是指向整個鍊錶的第乙個結點,從而使鍊錶形成乙個環。和單鏈表相同,迴圈鍊錶也有帶頭結點結構和不帶頭結點結構兩種,帶頭結點的迴圈單鏈表實現插入和刪除操作較為方便。package practice class testc...

鍊錶的基本操作 單鏈表 雙向鍊錶 迴圈鍊錶

本週第一次講座,學長給我們簡單的概述了資料結構和演算法,然後對鍊錶的一些操作進行了講解,下來之後,我把原來書上的一些 鍊錶的基本操作與鍊錶的逆置,排序等操作結合起來,整理出來 鍊錶是由結點構成的,關鍵是定義結點 c語言程式設計上兩大特例 鍊錶節點的定義 遞迴函式的定義。這兩個違反了先定義再使用。3....