建立循环单链表

#include<stdio.h>
#include <malloc.h>
typedef struct linknode
{
    int data;
    linknode *next;
} Node,*Linklist;
Linklist CreateList_end(int n);
void ShowList(Linklist L);
int main(void)
{
    Linklist L1;
    int n;
    scanf("%d",&n);
    L1=CreateList_end(n);
    ShowList(L1);
    return 0;
}
Linklist CreateList_end(int n)
{
    Linklist head=(Linklist)malloc(sizeof(Node));
    Node *p,*e;
    p=head;
    int x;
    for(int i=0; i<n; i++)
    {
        e=(Linklist)malloc(sizeof(Node));
        scanf("%d",&x);
        e->data=x;
        p->next=e;
        p=e;
    }
    head=head->next;
    p->next=head;
    return head;
}
void ShowList(Linklist L)
{
    while(L)
    {
        printf("%d ",L->data);
        L=L->next;
    }
    printf("\n");
}


版权声明:本文为potential1原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。