2021-01-31

c语言创建循环单链表并判断链表不为空

在这里插入代码片
#include "stdio.h"
#include "malloc.h"
typedef struct node
{
	int data;
	struct node *next;
}asd;
asd *phead=NULL;//头指针为空
asd *pend=NULL;//尾指针
int start(asd *l)
{
	l=(asd *)malloc(sizeof(asd));
	l->next=NULL;
	return l;
}
void creat(asd *l,int n)
{
     asd *p;
	int i,j;
	printf("输入元素:\n");
	for(i=0;i<n;i++)
	{
		scanf("%d",&j);
		p=(asd *)malloc(sizeof(asd));
		p->data=j;
		p->next=l->next;
		l->next=p;
	}
}
void print(asd *l)
{
	while(l->next!=NULL)
	{
		printf("%d\t",l->next->data);
		l=l->next;
	}
}
int xunhuan(asd *l)
{
phead=l->next;//令头指针指向第一个结点
while(l->next!=NULL)
{
	l=l->next;
}
pend=l;//令尾指针指向最后一个结点
pend->next=phead;
if(phead->next!=phead)
{
	printf("成功!!!\n");
	printf("链表不为空\n");
	}	
	return 0;
}
int main()
{
	asd *l,*m;
	m=start(m);
	creat(m,3);
	printf("输出元素:\n");
	print(m);
	printf("\n");
	xunhuan(m);
	return 0;
	}
上一篇:Typora使用


下一篇:学生管理系统C语言版