双链表的插入与删除(标准C)

简介: 双链表的插入与删除(标准C)
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
typedef struct DNode{
    int data;
    struct DNode *prior,*next;
}DNode,*DLinkList;
//头插创建双链表
int creat_DLinkList(DLinkList &DL)
{
   DNode *p;int x;
   DL=(DLinkList)malloc(sizeof(DNode));
    DL->next=NULL;
    DL->prior=NULL;
    scanf("%d",&x);
    while(x!=4444)
    {
        p=(DLinkList)malloc(sizeof(DNode));
        p->data=x;
        p->next=DL->next;
        p->prior=DL;
        DL->next=p;
        scanf("%d",&x);
    }
}
//显示打出
int show_Dlist(DLinkList DL)
{
    DNode *p=DL->next;
    while(p!=NULL)
    {
        printf("%d ",p->data);
        p=p->next;
    }
    printf("\n");
}
//插入节点
int sert_DNode(DLinkList &DL,int i,int x)
{
    DNode *p=DL->next;DNode *q;
    q=(DLinkList)malloc(sizeof(DNode));
    q->data=x;
    for(int j=1;j<i-1;j++)
    {
        p->next;
    }
    q->next=p->next;
    p->next->prior=q;
    p->next=q;
    q->prior=q;
}
//删除第i个节点
int Delete_DNode(DLinkList DL,int i)
{
    DNode *p=DL->next;DNode *q;
    q=(DLinkList)malloc(sizeof(DNode));
    for(int j=1;j<i-1;j++)
    {
        p=p->next;
    }
    q=p->next;
    p->next=q->next;
    q->next->prior=p;
    free(q);
}
int main()
{
    DNode *DL;
    creat_DLinkList(DL);
    show_Dlist(DL);
    sert_DNode(DL,2,11);
    show_Dlist(DL);
    Delete_DNode(DL,3);
    show_Dlist(DL);
}
目录
相关文章
|
5月前
|
存储
数据结构:图文详解单链表的各种操作(头插法,尾插法,任意位置插入,删除节点,查询节点,求链表的长度,清空链表)
数据结构:图文详解单链表的各种操作(头插法,尾插法,任意位置插入,删除节点,查询节点,求链表的长度,清空链表)
258 0
|
5月前
|
存储
数据结构:图文详解双向链表的各种操作(头插法,尾插法,任意位置插入,查询节点,删除节点,求链表的长度... ...)
数据结构:图文详解双向链表的各种操作(头插法,尾插法,任意位置插入,查询节点,删除节点,求链表的长度... ...)
268 0
|
9月前
|
存储 C++
链表操作:插入、删除与遍历
(笔者画图不易呜呜)链表是一种基本的数据结构,它可以用来存储一系列的元素,并且支持灵活的插入、删除操作。在计算机科学中,链表常常用于构建更复杂的数据结构,如栈、队列以及图等。
193 0
|
10月前
链表学习(链表的创建,插入,删除,查找,遍历)
链表学习(链表的创建,插入,删除,查找,遍历)
86 0
|
12月前
二叉排序树的建立、查找、插入、删除
二叉排序树的建立、查找、插入、删除
双链表全部知识总结(初始化、插入、删除、遍历)
双链表知识总结包括思路分析、代码实现
180 0
|
存储 C语言 C++
顺序表的插入、删除和查找(四)
详细介绍了数据结构中的顺序表
219 0
链表的插入与删除
链表的插入与删除
55 0
单链表的插入与删除(标准C)
单链表的插入与删除(标准C)
53 0