标签:测试 while 循环 数据结构 color har main max 描述
上回说到建立链表的三种形式,分别是头插法,尾插法,和尾插法MAX??
??下面讲一下循环单链表??
循环单链表,字面意思,就是单链表循环了起来,尾节点在输入结束后不会指向NULL,而是指向了头节点head
酱紫,链表就循环了起来
下面是代码实现
#include <stdio.h>
#include <stdlib.h>
typedef char datatype;
typedef struct node
{
datatype data;
struct node *next;
int length;
}linkList;
linkList *CREAT(linkList *L)
{
L->length = 0;
linkList *head,*r,*s;
head = (linkList *)malloc(sizeof(linkList));
r = head;
char ch;
ch = getchar();
while(ch!=‘$‘)
{
s = (linkList *)malloc(sizeof(linkList));
L->length++;
s->data = ch;
r->next = s;
r = s;
s->next = head;
// char a = getchar();
// 如果使用上面这一句,在输入data的时候可以在两个字符间输入空格
ch = getchar();
};
return r;
}
void PUT(linkList *L,linkList *r)
{
int i = 0;
linkList *pt;
pt = r;
pt = pt->next->next;
while(i<L->length)
//如果你想测试一下自己写的代码会不会循环起来,可以给length+2以上,看看会不会输出
//因为在CREAT()的时候,我是用的是尾插法MAX??,就是在整个链表的前面加上一个空的节点,所以输出不会显示这个节点的内容
{
printf("%c ",pt->data);
pt = pt->next;
i++;
};
printf("\n");
}
int main(void)
{
linkList L;
PUT(&L,CREAT(&L));
return 0;
}
//这个代码的算法实现都是比较简单易懂的,如果不是很清楚链表是怎样构建的话,可以康一康我的上一篇blog
//希望能对初学数据结构的同学们有一点帮助
标签:测试 while 循环 数据结构 color har main max 描述
原文地址:https://www.cnblogs.com/farytormenta/p/11601054.html