#include<stdio.h>
#include<stdlib.h>
#define ERROR 0
#define OK 1
typedef int status;
typedef int ElemType;
typedef struct Node
{
ElemType data;
struct Node *next;
}LNode,*LinkList;
void CreatList(LinkList L){//创建链表
int n;
LinkList p,q;
p=L;
printf("请输入要建立的链表的数目和每一个数的数字\n");
scanf("%d",&n);
while (n--)
{
q=(LinkList)malloc(sizeof(LNode));
scanf("%d",&q->data);
q->next=NULL;
p->next=q;//不停地将p向后移,相当于直接在后面一个一个插入
p=q;
}
}
void print(LinkList L){
LNode *p;
//p=L;
p=L->next;//因为头结点L在主函数里面data已经赋值了为-1,所以为L->next;而不是L。
int sum=0;
printf("链表为:");
while (p)
{
sum++;
printf("%d",p->data);
p=p->next;
}
printf("\n长度为:%d\n",sum);
}
int main(){
LinkList L,p;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
L->data=-1;
CreatList(L);
print(L);
system("pause");
}
建立一个新链表和输出它的长度
最新推荐文章于 2023-04-08 19:10:58 发布