数据结构和算法学习记录——栈和队列作业(实现链栈上的进栈、实现链栈上的退栈、实现链队上的入队列)

简介: 数据结构和算法学习记录——栈和队列作业(实现链栈上的进栈、实现链栈上的退栈、实现链队上的入队列)

题目来自:《数据结构》大连理工大学出版社(2019.8第一版)

链栈上的进栈

代码实现

//链栈上的进栈
void Push(LstackTp* ls, DataType x) //采用头插的方式进行进栈的操作
{
  LstackTp* p = (LstackTp*)malloc(sizeof(LstackTp)); //创建一个新结点
  p->data = x;                                       //将新结点的数据域赋上相应的数据
  p->next = ls;                                      //将新结点的指针域指向头结点
  ls = p;                                            //最后将新结点作为头结点,进栈操作完成
}

思路图解

链栈上的退栈

代码实现

int Pop(LstackTp* ls, DataType x) //采用头删的方式进行退栈操作
{
  LstackTp* p;                  //创建一个临时结点p
  if (ls != NULL)               //判断ls是否为空,不为空才能进行退栈操作
  {
    p = ls;                   //用结点p来记录ls
    x = p->data;
    ls = ls->next;
    free(p);                  //释放p
    return 1;         //退栈成功返回1
  }
  else
  {
    return 0;                 //退栈失败返回0
  }
}

思路图解

 

链队上的入队列

代码实现

void EnQueue(QueptrTp* lq, DataType x)        
{
  LqueueTp* p;
  p = (LqueueTp*)malloc(sizeof(LqueueTp));   //创建新结点p
  p->data = x;               
  p->next = NULL;                            //初始化新结点
  (lq->rear)->next = p;                      //插入尾结点的下一个位置
  lq->rear = p;                              //将新结点设为新的尾结点
}

思路图解

目录
相关文章
|
10天前
|
存储 算法 调度
数据结构与算法-栈篇
数据结构与算法-栈篇
13 3
|
14天前
|
存储 算法 数据安全/隐私保护
【Python学习篇】Python实验小练习——高级数据结构(五)
【Python学习篇】Python实验小练习——高级数据结构(五)
30 1
|
15天前
|
存储 算法 C语言
数据结构学习记录——图-最短路径问题(无权图单源最短路径算法、有权图单源最短路径算法、多源最短路径算法、Dijkstra(迪杰斯特拉)算法、Floyd算法)
数据结构学习记录——图-最短路径问题(无权图单源最短路径算法、有权图单源最短路径算法、多源最短路径算法、Dijkstra(迪杰斯特拉)算法、Floyd算法)
21 1
|
15天前
|
存储 算法 测试技术
数据结构学习记录——树习题-Complete Binary Search Tree(题目描述、输入输出示例、数据结构的选择、核心算法、计算左子树的规模)
数据结构学习记录——树习题-Complete Binary Search Tree(题目描述、输入输出示例、数据结构的选择、核心算法、计算左子树的规模)
16 1
|
15天前
|
测试技术 C语言
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
13 1
|
1天前
|
算法 Java 机器人
Java数据结构与算法:线性数据结构之栈
Java数据结构与算法:线性数据结构之栈
|
11天前
|
存储 SQL 算法
LeetCode题目100:递归、迭代、dfs使用栈多种算法图解相同的树
LeetCode题目100:递归、迭代、dfs使用栈多种算法图解相同的树
|
11天前
|
存储 SQL 算法
LeetCode 题目 94:五种算法递归|迭代|莫里斯|线索二叉树|栈的迭代二叉树 实现中序遍历
LeetCode 题目 94:五种算法递归|迭代|莫里斯|线索二叉树|栈的迭代二叉树 实现中序遍历
|
15天前
|
存储
数据结构学习记录——如何建立图(邻接矩阵、邻接表-图节点的结构、创建并初始化、插入变、完整图的建立)
数据结构学习记录——如何建立图(邻接矩阵、邻接表-图节点的结构、创建并初始化、插入变、完整图的建立)
14 0
|
2天前
|
机器学习/深度学习 算法 数据可视化
m基于PSO-LSTM粒子群优化长短记忆网络的电力负荷数据预测算法matlab仿真
在MATLAB 2022a中,应用PSO优化的LSTM模型提升了电力负荷预测效果。优化前预测波动大,优化后预测更稳定。PSO借鉴群体智能,寻找LSTM超参数(如学习率、隐藏层大小)的最优组合,以最小化误差。LSTM通过门控机制处理序列数据。代码显示了模型训练、预测及误差可视化过程。经过优化,模型性能得到改善。
16 6