C语言 链表基础--整表创建

指针是链表的基础,链表是一个C语言的重难点,是学习操作系统还有数据结构算法的基础。

大师兄简单做一个链表的整表创建程序,俩种方法,头插法还有尾插法。

基础的同学可以仔细品味一下,

#include <iostream>
typedef struct node
{
    int data;
    struct node* next;
}node;
typedef struct node* linklist;
void CreatHeadInsetList(linklist* L, int n);
void CreatEndInsetList(linklist* L, int n);
int main()
{
    printf("hello world\n");
    linklist test;
    
    CreatEndInsetList(&test,5);
    for (int i=0;i<5;i++)
    {
        test = test->next;
        printf("%d ",test->data);
    }
}
//头插法
void CreatHeadInsetList(linklist *L,int n)
{
    linklist p;
    int i;
    *L = (linklist)malloc(sizeof(node));
    (*L)->next = NULL;
    for (i = 0; i < n; i++)
    {
        p = (linklist)malloc(sizeof(node));
        p->data = i+1;
        p->next = (*L)->next;
        (*L)->next = p;
    }
}
//尾插法
void CreatEndInsetList(linklist* L, int n)
{
    linklist p, p1;
    int i;
    *L = (linklist)malloc(sizeof(node));
    p = (*L);
    p->next = NULL;
    for (i = 0; i < n; i++)
    {
        p1 = (linklist)malloc(sizeof(node));
        p1->data = i + 1;
        p->next = p1;
        p = p1;
    }
    p->next = NULL;
}

这部分是单向链表,这部分一定要多看多练,才是王道,适当自己画图,去调试,,冲冲冲。。。

这是大师匈用VS2019做的哦,所以头文件那里可能不一样,正常要加入俩个头文件,分别是stdio.h还有stdlib.h。

上一篇:1.2 线性表的链式表示


下一篇:个人笔记数据结构与算法———单链表02