#include<stdio.h>
#include<malloc.h>
//单向循环链表的表示与实现(该链表带头结点head)
typedef int ElemType;
typedef struct node{
ElemType data;
struct node * next;
}slink;
//创建链表
slink *creasclink(int n){
slink *head,*p,*s;
int i;
p=head=(slink*)malloc(sizeof(slink));
for(i=1;i<=n;i++){
s=(slink*)malloc(sizeof(slink));
scanf("%d",&s->data);
p->next = s;
p=s;
}
p->next=head;
return head;
}
//遍历链表
slink *showsclink(slink *head){
slink *p;
p=head->next;
while(p!=head){
printf("%d ",p->data);
p=p->next;
}
return head;
}
//求表长操作
int getlen(slink *head){
slink *p;
int i=0;
p=head->next;
while(p!=head){
i++;
p=p->next;
}
return i;
}
//取元素操作,取第i个结点的元素的值
int getElem(slink *head,int i){
int j;
slink *p;
p=head->next;j=1;
if(i<1)return 0;
while(p!=head&&j<i){
p=p->
单向循环链表的表示与实现(C语言)
最新推荐文章于 2024-06-11 10:00:00 发布