C语言单向链表的实现

1.C语言单向链表的实现

#include<stdio.h>
#include<malloc.h>
//定义链表节点类型,包含数据和指向下一个节点的指针
typedef struct Node
{
        int data;
        struct Node *next;
}Node,*PNode;

PNode createList(int len);//创建len个节点的链表
void printList(PNode list);//打印输出这个链表

int main()
{
        printf("Plz input linkList length:\n");
        PNode pTmp=NULL;
        int len=0;
        scanf("%d",&len);
        pTmp=createList(len);
        printList(pTmp);
        return 0;
}
PNode createList(int len)
{
        PNode pHead,pNext,pTail;
        int i=0;
        pHead=(PNode)malloc(sizeof(Node));
        if(pHead==NULL) return 0;
        pHead->next=NULL;
        pTail=pHead;
        for(i=1;i<=len;i++)
        {
                pNext=(PNode)malloc(sizeof(Node));
                printf("Plz input the %d element,s value:",i);
                scanf("%d",&(pNext->data));
                pNext->next=NULL;
                pTail->next=pNext;
                pTail=pNext;
        }
        return pHead;
}
void printList(PNode head)
{
        printf("linkList info:\n");
        PNode p=head->next;
        while(p!=NULL)
        {
                printf("%d ",p->data);
                p=p->next;
        }
        printf("\n\n");
}


输出:

Plz input linkList length:
8
Plz input the 1 element,s value:1
Plz input the 2 element,s value:2
Plz input the 3 element,s value:3
Plz input the 4 element,s value:4
Plz input the 5 element,s value:5
Plz input the 6 element,s value:6
Plz input the 7 element,s value:7
Plz input the 8 element,s value:8
linkList info:
1 2 3 4 5 6 7 8 



猜你喜欢

转载自blog.csdn.net/qq_17441227/article/details/78804928