//
// linklist2.c
// linklist
//// 雙向迴圈鍊錶
#include #include #define maxsize 100
#define elemtype int
elemtype a[maxsize];
int n;
typedef struct node dnode,*dlinklist;
dlinklist create(int n);
void insertnode(dlinklist list,dlinklist p);
void print(dlinklist list);
int insertd(dlinklist list,elemtype item,elemtype x);
int delete(dlinklist list,elemtype item);
int main()
dlinklist create(int n)
return list;
}void insertnode(dlinklist list,dlinklist p)
void print(dlinklist list)
}//帶有頭結點非空雙向s迴圈鍊錶,第乙個資料域內容為x的鏈結點右邊插入item新結點
int insertd(dlinklist list,elemtype item,elemtype x)
if(q==list)
p=(dlinklist)malloc(sizeof(dnode));//申請乙個新的結點
p->data = item;
p->llink = q;
p->rlink = q->rlink;
q->rlink ->rlink = p;
q->rlink = p;
return 1;//插入成功
}//雙向鍊錶的刪除
int delete(dlinklist list,elemtype item)
if(q==list)
q->llink->rlink = q->rlink;
q->rlink->llink = q->llink;
free(q);//釋放被刪除的結點的儲存空間
return 1;//刪除成功
}
核心list雙向迴圈列表
雙向迴圈鍊錶節點.結構體定義如下 1 list head定義並初始化 define list head init name define list head name struct list head name list head init name 所以list head name 等價於 str...
python實現迴圈列表
class loop queue2 object 實現迴圈列表 def init self,maxsize 初始化,命令頭部元素的序號,尾部元素的序號,定義序列列表 param maxsize 傳入列表的最大長度 self.queue none maxsize self.maxsize maxsiz...
資料結構 雙向列表與迴圈列表
從迴圈鍊錶的任意乙個結點出發都可以找到鍊錶中的其它結點,使得表處理更加方便靈活。迴圈鍊錶的操作 對於單迴圈鍊錶,除鍊錶的合併外,其它的操作和單線性鍊錶基本上一致,僅僅需要在單線性鍊錶操作演算法基礎上作以下簡單修改 判斷是否是空鍊錶 head next head 判斷是否是表尾結點 p next he...