头文件:函数的声明
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedef int ElemType;
typedef struct Node
{
ElemType data;
struct Node* next;
}ListNode,*LinkList;
LinkList CreateCycList(int n);//创建循环单链表
void DisplayCycList(LinkList head);
LinkList Link(LinkList head1,LinkList head2);
函数的定义
#include "循环链表.h"
LinkList CreateCycList(int n)
{
ListNode *p,*q;
LinkList head = NULL;
ElemType e;
int i = 1;
q = NULL;
while(i <= n)
{
printf("请输入第%d个元素:",i);
scanf("%d",&e);
if(i == 1)
{
head=(LinkList)malloc(sizeof(ListNode));
head->data = e;
head->next = NULL;
q = head;//第一个结点q始终指向最后一个结点
}
else
{
p = (LinkList)malloc(sizeof(ListNode));
p->data = e;
p->next = NULL ;
q->next = p;