小白单链表头插法函数代码(详细讲解版)

一,头插法基本步骤


//头插法是要把每次插入的节点作为首元节点,也就是说头节点指针域里面存放的始终是新插入节点的地址 
Status CreatList_H(Linklist &L,int n) //Status是一种类似int的类型,是要由用户根据题目需求建立的 ,例如我需要Status是个int类型的,就需要给int重命名为Status 
{                                 
    int i;
    LNode *p;    //定义一个新节点,作为我们要插入的节点 
    L=new LNode;   //分配一个LNode类型大小的空间 ,作为头结点 
    L->next=NULL;     //刚开始创建时只有一个头结点,所以头结点的指针域为空 
    for(i=0;i<n;i++){  //n是要插入节点的个数 
        p=new LNode;    //为要插入的节点分配一个LNode类型大小的空间 
        cin>>p->data;   //输入要插入的数据 
        p->next=L->next;// 因为要在头结点之后插入新的节点,所以要把L->next的地址传给p,使该节点与下一个节点联系起来 
        L->next=p;  //要使新插入的节点与头结点联系起来,就要使头节点的指针域中存放新插入节点的地址 
    }

}

二、算法时间复杂度

T(n)=O(n);

因为我们看基本语句的话,是for循环里面执行次数最多,所以for循环执行的次数决定了最终的数量级,而由循环我们知道循环执行了n次,所以F(n)=n;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值