首页 > 其他分享 >[数据结构]双向循环链表及其基本操作

[数据结构]双向循环链表及其基本操作

时间:2023-03-20 15:07:36浏览次数:39  
标签:Status int DulLinkList DulList next 链表 基本操作 数据结构 data


#include <iostream>
#include <cstdio>

using namespace std;

typedef int Elem;
typedef int Status;

typedef struct DulList
{
/* data */
Elem data;
struct DulList *prior;
struct DulList *next;
} DulList, *DulLinkList;

Status InitDulList(DulLinkList &L)
{
L = new DulList;
L->next = NULL;
L->prior = NULL;

return 1;
}

Status CreatDulList_H(DulLinkList &L, int num)
{
L = new DulList;
L->next = NULL;

for (int i = 1; i <= num; i++)
{
DulList *p = new DulList;
cin >> p->data;

p->next = L->next;
if (L->next)
L->next->prior = p;
L->next = p;
p->prior = L;
}

return 1;
}

Status ShowDulList(DulLinkList &L)
{

DulList *q = L->next;
while (q->next)
q = q->next;
q->next = L->next;//怎么双向没写 我试了一下 把尾巴指向头 就循环了...

DulList *p = L->next;

while (p)
{
cout << p->data << " ";
p = p->next;
}

return 1;
}

int main()
{
DulLinkList L;

//1
InitDulList(L);

//1
CreatDulList_H(L, 3);

//1
ShowDulList(L);
}


标签:Status,int,DulLinkList,DulList,next,链表,基本操作,数据结构,data
From: https://blog.51cto.com/u_16014765/6132917

相关文章

  • [数据结构]双向链表及其基本操作
    #include<iostream>#include<cstdio>usingnamespacestd;typedefintElem;typedefintStatus;typedefstructDulList//我猜是doubolelist...{/*data*/Elemd......
  • [数据结构]单链表及其基本操作
    /**@Author:*@data:2019-12-0214:49:03*@LastModifiedby:*@LastModifiedtime:2019-12-0215:54:49*/#include<iostream>#include<cstdio>usingnamespa......
  • [数据结构][队列]链表模拟队列操作
    #include<iostream>#include<cstdio>usingnamespacestd;#defineMAXSIZE100typedefintStatus;typedefintElem;typedefstructQNode{/*data*/Elemdata;stru......
  • [链表]用静态数组模拟单链表
    来源:模板题算法标签链表题目描述实现一个单链表,链表初始为空,支持三种操作:(1)向链表头插入一个数;(2)删除第k个插入的数后面的数;(3)在第k个插入的数后插入一个数现在要对......
  • [数据结构]有序表的合并
    /**@Author:*@Date:2019-12-0320:18:46*@LastModifiedby:*@LastModifiedtime:2019-12-0320:44:28*/#include<iostream>#include<cstdio>u......
  • 数据结构与算法:二叉树专题
    数据结构与算法:二叉树专题​​前言​​​​前提条件​​​​基础知识​​​​二叉树链式存储结构​​​​二叉树中序遍历​​​​二叉树层序遍历​​​​常见编程题​​​​......
  • 链表
    链表的概述链表是由一个一个的节点组成,节点没有名字,每个节点从堆区空间动态申请,节点间是非连续的(物理上),但是每个节点通过指针域保存下一个节点的位置,达到逻辑上的连续......
  • redis 操作集合基本操作
    Redis的Set是String类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。集合对象的编码可以是intset或者hashtable。Redis中集合是通过哈......
  • 【C 数据结构】循环队列
    循环队列预先分配好数组空间#defineBUFFER_SIZE1024//在栈区分配空间intbuf[N];//在堆区分配空间int*buf;buf=(int*)malloc(BUFFER_SIZE*sizeof(int))......
  • 【VTK学习笔记】VTK基本数据结构_3.2数据对象和数据集
    任务:把几何结构和拓扑结构加入到数据集中1.无拓扑结构1#include<vtkSmartPointer.h>2#include<vtkPoints.h>//几何结构3#include<vtkPolyData.h>//数据集......