[数据结构]双向循环链表及其基本操作
2023-09-11 14:18:49 时间
#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);
}
相关文章
- SQL Server中的Replicate函数。循环字符次数,可用于多层分类
- go 语言与循环
- Java循环语句详解(Java必备知识)
- js 终止 for 循环
- 14.parfor并行循环处理
- JavaScript - math.js 数学库,实现 math.add() “数字累加“ 计算总和的操作(例如:循环 N 个整数或小数,然后再循环内 “+=“ 叠加算数)适用于Vue等全部前端项目
- 20220721 python for循环学习
- c#中使用消息循环机制发送接收字符串的方法和数据类型转换
- Qt中为自己的程序建立一个消息循环
- Springboot循环依赖问题: Bean with name ‘xxxxService‘ has been injected into other beans
- ansible中的常用循环模块with_items
- 浅析setup如何通过ref获取子组件实例中的DOM结构/数据/方法及获取子组件实例数据都是空的处理(defineExpose API 的使用)、Vue3模板引用refs、在组合式API中使用template refs、for循环中如何获取及重置refs、如何监听模板引用
- 在C和C ++中创建循环缓冲区
- C语言单向循环链表解决约瑟夫问题
- robot:循环遍历数据库查询结果是否满足要求
- 循环链表解决约瑟夫环问题
- [LeetCode] 708. Insert into a Cyclic Sorted List 在循环有序的链表中插入结点
- 循环队列(Joseplus Problem)