#include
#include
#define N 9
typedef struct node{
int data;
struct node * next;
}ElemSN;
ElemSN*Createlink(int a[],int n){
int i;
ElemSN*h=NULL,*p,*t;
for(i=0;idata=a[i];
if(!h) //建立只有一个结点的循环链表
h=t=p;
else //结点数目大于1
p->next=h;//建立循环链表
t=t->next=p;//标记链表的尾结点
}
return h;
}
void Printlink(ElemSN*h){
ElemSN*p;
p=h;
do{ //do while循环输出
printf("%2d\n",p->data);
p=p->next;
}while(p!=h);
}
int main(void){
int a[N]={1,2,3,4,5,6,7,8,9};
ElemSN*head;
head=Createlink(a,9);
Printlink(head);
}
分享标题:单向循环链表
分享地址:
http://cdxtjz.cn/article/jgsehd.html