建立一个新链表和输出它的长度

来源:互联网 发布:ubuntu下载火狐浏览器 编辑:程序博客网 时间:2024/06/16 09:24
#include<stdio.h>#include<stdlib.h>#define ERROR 0#define OK 1typedef 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");}
0 0
原创粉丝点击