动态链表

主要函数
1:  malloc:函数原型  void *malloc(unsigned int size);
分配一个长度为size的连续空间,返回首地址。

空间不足时返回HULL;

2:  calloc:函数原型 void *calloc(unsigned n,unsigned size)

分配n个长度为size的连续空间。返回首地址。

3:  free:函数原型 void free(void *p);

释放由p指向的内存区。

创建一个链表create()

代码

#include<stdlib.h>
#include<stdio.h>
typedef struct List* link; // 链表指针 
typedef struct List Lnode; //结点 

struct List
{
    int date;
    struct List *next;
};
link create(link Head)
{
    int Newdate;
    link NewPoint;
    /*先建立一个结点*/
    Head=(link)malloc(sizeof(Lnode));
    scanf("%d",&Newdate);
    Head->date=Newdate;
    Head->next=NULL;
    while(1)
    {
        NewPoint=(link)malloc(sizeof(Lnode));
        if(NewPoint==NULL)
        break;
        scanf("%d",&Newdate);
        if(Newdate==-1)
        return Head;
        NewPoint->date=Newdate;
        NewPoint->next=Head;
        Head=NewPoint;
    }
    return Head;
}
int main()
{
    link p;
    p=create(p) ;
    do
    {
        printf("%d\n",p->date);
        p=p->next;
    }while(p);
    return 0;
}

 

 

 

posted @ 2022-04-25 16:09  xxj112  阅读(40)  评论(0)    收藏  举报