c语言编程:带头结点的循环链表的插入
发布网友
发布时间:2022-04-28 12:00
我来回答
共1个回答
热心网友
时间:2023-10-08 20:42
#include "Stdio.h"
#include "Conio.h"
#define NULL 0
typedef struct node{
int data;
struct node *next;
}linkedlode,*linklist;/*链表节点的数据结构*/
linklist L; /*全局定义*/
main()
{
void buildlist(); /*建立链表*/
void print(linklist);/*输出链表*/
buildlist();
print(L);
getch();
}
void buildlist()/*建立链表*/
{
int ch;
int i=0;
linklist p,q;
while(1)
{
printf("Input data(end of -100):");/*输出为-100结束*/
scanf("%d",&ch);
if(ch==-100)break;
p=(linkedlode *)malloc(sizeof(linkedlode));
p->next=NULL;
p->data=ch;
if(i==0) /*第一个节点*/
{
L=p;
q=p;
i++;
continue;
}
q->next=p; /*以后的节点*/
q=p;
}
}
void print(linklist L)/*输出链表*/
{
while(L)
{
printf("%5d",L->data);
L=L->next;
}
}
热心网友
时间:2023-10-08 20:42
#include "Stdio.h"
#include "Conio.h"
#define NULL 0
typedef struct node{
int data;
struct node *next;
}linkedlode,*linklist;/*链表节点的数据结构*/
linklist L; /*全局定义*/
main()
{
void buildlist(); /*建立链表*/
void print(linklist);/*输出链表*/
buildlist();
print(L);
getch();
}
void buildlist()/*建立链表*/
{
int ch;
int i=0;
linklist p,q;
while(1)
{
printf("Input data(end of -100):");/*输出为-100结束*/
scanf("%d",&ch);
if(ch==-100)break;
p=(linkedlode *)malloc(sizeof(linkedlode));
p->next=NULL;
p->data=ch;
if(i==0) /*第一个节点*/
{
L=p;
q=p;
i++;
continue;
}
q->next=p; /*以后的节点*/
q=p;
}
}
void print(linklist L)/*输出链表*/
{
while(L)
{
printf("%5d",L->data);
L=L->next;
}
}