头插法建立链表

------------恢复内容开始------------

头插法:元素插在链表头部。

① 从一个空表开始,重复读入数据;

② 生成新结点,将读入数据存放到新结点的数据域中;

③ 从最后一个结点开始,依次将各结点插入到链表的前端

例如,建立链表L,其中有五个元素 a,b,c,d,e

头插法建立链表

 

代码部分:

 

//通过头指针获得链表L,n 是结点数。
void CreateList_H(LinkList &L, int n){
    //先建立一个带头结点的单链表
    L = new Lnode;
    //给头指针链域赋NULL,防止野指针
    L->next = NULL;
    for(i=n;i>0;i--){
        //生成新节点,C语言语法则是:p=(Lnode*)malloc(sizeof(Lnode));
        p = new Lnode;
        //输入元素值,C语言语法则是:scanf(&p->data);
        cin>>p->data;
        //插入到表头
        p->next = L->next;
        L->next = p;
    }
}

 

上一篇:线段树


下一篇:TypeScript算法专题 - blog5 - 单链表节点的`任意k个分组反转`的实现