其他分享
首页 > 其他分享> > 2021-01-31

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;
	}

标签:01,int,31,printf,next,phead,2021,asd,NULL
来源: https://blog.csdn.net/woreaijava/article/details/113462032