一.线性表

 一.单链表

1.定义结构体

1.1不带头结点的结构体

typedef struct node{
    int  data;
    struct node *next;
    //struct node *prior;//双向链表需要加上指针prior
}Lnode,*Linklist;

1.2带头结点的结构体

typedef struct node{
    int data;
    struct node * next;
}Node;
 
typedef struct list{
    Node* head;
    Node* tail;
    int length;
 
}List;

2.初始化单链表

一.线性表_第1张图片

2.1不带头结点的单链表初始化

//单链表初始化,定义一个Linklist(Lnode*)型函数,由其带回头指针地址
Linklist InitList(){
    Lnode *L;
    L=(Lnode* )malloc(sizeof(Lnode));
    if(L==NULL){
        printf("申请内存失败!!");
        exit(0);
    }
    L->next==NULL;// 双向链表中需要L->prior==NULL;
    return L;
}

2.2带头结点的单链表初

你可能感兴趣的:(数据结构C,数据结构,C,算法,链表)