循环链表的创建与输出
#include<stdio.h>
#include<stdlib.h>
typedef int Element;
typedef struct LNode{
Elementdata;
structLNode *next;
}LinkList;
void CreateListR(LinkList *L,int a[],intn){
LinkList *s,*r;
int i;
r=L;
for(i=0;i<n;i++){
s=(LinkList*)malloc(sizeof(LinkList));
s->data=a[i];
r->next=s;
r=s;
}
r->next=L->next;
}
void printList(LinkList *L){
LinkList *p=L->next;
while(true){
printf("%d",p->data);
p=p->next;
if(p->next==L->next){
printf("%d",p->data);
break;
}
}
printf("\n");
}
int main(){
inti;
LinkList* L=(LinkList*)malloc(sizeof(LinkList));
intarray[10];
for(i=0;i<10;i++){
array[i]=i;
}
CreateListR(L,array,10);
printList(L);
}
本内容由安康学院"雨季"原创。