單向迴圈鍊錶的表示與實現(C語言)

2021-09-30 17:05:24 字數 1029 閱讀 5905

#include#include//單向迴圈鍊錶的表示與實現(該鍊錶帶頭結點head) 

typedef int elemtype;

typedef struct nodeslink;

//建立鍊錶

slink *creasclink(int n)

p->next=head;

return head;

} //遍歷鍊錶

slink *showsclink(slink *head)

return head;

}//求表長操作

int getlen(slink *head)

return i;

} //取元素操作,取第i個結點的元素的值

int getelem(slink *head,int i)

if(p==head)return 0;

return p->data;

} //定位操作,取煉表中第乙個值為x 的位置

int locate(slink *head,elemtype x)

if(p==head)return 0;

else return i;

} //刪除操作,刪除單鏈表中的第i個結點

int deletei(slink *head,int i)

if(p==head||p->next==head)return 0;//i長於表長

s=p->next;

p->next=s->next;

free(s);

return 1;

}//插入操作(在鍊錶中第i個結點之前插入乙個值為x的結點)

int inserti(slink *head,elemtype x,int i)

if(p==head||p->next==head)return 0;

s->data=x;

s->next=p->next;

p->next=s;

return 1;

} int main()

單向迴圈鍊錶C語言實現

我們都知道,單向鍊錶最後指向為null,也就是為空,那單向迴圈鍊錶就是不指向為null了,指向頭節點,所以下面這個程式執行結果就是,你將會看到遍歷鍊錶的時候就是乙個死迴圈,因為它不指向為null,也是周而復始的執行。串成了乙個環型。include include typedef struct nod...

C語言單向鍊錶實現

include include typedef struct node listnode typedef listnode linklist 帶頭節點的單鏈表 初始化單鏈表只有頭節點 void initlinklist linklist linklist 建立乙個單鏈表 linklist creat...

c實現逆轉單向迴圈鍊錶

1.帶頭結點實現 include include typedef struct nodelinknode,linklist void reverseonewaycircularlinkedlist linklist head p next head 沒有必要 p head while p next ...