秋逸

单链表…看起来简单,写起来难

#include <bits/stdc++.h>

using namespace std;

typedef struct Node
{
    int data;
    Node *next;
}Lnode,*Pnode;

void nodeInit(Pnode pnode)
{
    pnode->next=NULL;
}

void headinsert(Pnode pnode,int e)
{
    Pnode newnode = (Pnode)malloc(sizeof(Node));
    newnode->data=e;
    newnode->next=pnode->next;
    pnode->next=newnode;
}

void dump(Pnode node)
{
    node=node->next;
    while(node)
    {
        cout<<node->data<<" ";
        node=node->next;
    }
    cout<<endl;
}

Pnode lastNode(Pnode node)
{
    while (node)
    {
        node=node->next;
    }
    return node;
}

void insertNode(Pnode pnode,int pos,int e)
{
    Pnode newnode = (Pnode)malloc(sizeof(Node));
    newnode->data=e;
    while(pnode && pos>1)
    {
        pos--;
        pnode=pnode->next;
    }
    newnode->next=pnode->next;
    pnode->next=newnode;
}

void tailInsert(Pnode pnode,int e)
{
    while(pnode->next)
    {
        pnode=pnode->next;
    }
    Pnode newnode =(Pnode)malloc(sizeof(Node));
    newnode->data=e;
    newnode->next=NULL;
    pnode->next=newnode;
}

int main()
{
    Lnode node;
    nodeInit(&node);
    headinsert(&node,1);
    headinsert(&node,2);
    insertNode(&node,2,3);
    tailInsert(&node,1);
    dump(&node);
    return 0;
}
单链表-数据结构
: 杨秋逸
https://yangqiuyi.com/blog/算法/数据结构/单链表-数据结构/