数据结构
学习阁
你背不下来的书,总有人背得下来
你做不出来的题,总有人能做得出
你推到明天做的事,总有人今天能完成
那么不好意思
你想去的学校,只能别人去
你想要的生活,也只能别人有了
展开
-
【数据结构】实现广义表的基本运算
现广义表的基本运算目的:领会广义表的链式存储结构及其基本算法设计内容编写一个程序exp6-2.cpp,实现广义表的各种运算,并在此基础上设计一个主程序,完成如下功能:1)建立广义表g="(b,(b,a,(#),d),((a,b),c,((#))))"的链式存储结构。2)输出广义表g的长度。3)输出广义表g的深度。4)输出广义表g的最大原子。提示:功能算法如下➢CreateGL(char*&s)//返回由括号表示法表示s的广义表链式存储结构➢GLLength(GLNodeg)//求广义表g的长度➢G原创 2020-11-26 23:27:56 · 5180 阅读 · 3 评论 -
【数据结构】实现稀疏矩阵(采用三元组表示)的基本运算C语言/C++实现(代码有注释)
文章目录一、问题二、使用步骤1.引入库2.读入数据总结一、问题实现稀疏矩阵(采用三元组表示)的基本运算目的:领会稀疏矩阵三元组的存储结构及其基本算法设计。内容:假设 nn 的稀疏矩阵 A 采用三元组表示,设计一个程序 exp6-1.cpp,实现如下功能:。生成如下两个稀疏矩阵的三元组 a 和 b。输出 a 转置矩阵的三元组。输出 a+b 的三元组。输出 ab 的三元组。提示:本实验设计的功能算法如下➢ CreatMat(TSMatrix &t,ElemTy原创 2020-11-15 15:48:22 · 15741 阅读 · 5 评论 -
【数据结构】矩阵转置(C/C++语言实现)
文章目录一、 问题二、思路三、代码实现代码优化一、 问题将矩阵转置效果如下图二、思路1、创建a, b两个数组,a存放转置前的矩阵, b存放转置后的矩阵2、观察可得转置后的矩阵行列序号互换,此步由b数组实现三、代码实现#include <stdio.h>int main(){ int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}, b[4][3], i, j; //a[3][4]为转置前数组, b[4][原创 2020-11-08 18:34:41 · 11683 阅读 · 1 评论 -
【数据结构】将编号为 0 和 1 的两个栈存放于一个数组空间 V[m]中,栈底分别处于数组的两端。当第0 号栈的栈顶指针 top[0]等于-1 时该栈为空;当第 1 号栈的栈顶指针 top[1]等于
文章目录产出问题所需函数实现代码运行结果理解方法产出CSDN 技术博客 1 篇哔哩哔哩专栏1篇问题将编号为 0 和 1 的两个栈存放于一个数组空间 V[m]中,栈底分别处于数组的两端。当第0 号栈的栈顶指针 top[0]等于-1 时该栈为空;当第 1 号栈的栈顶指针 top[1]等于 m 时,该栈为空。两个栈均从两端向中间增长(见下图)。试编写双栈初始化,判断栈空、栈满、进栈和出栈等算法的函数。双栈数据结构的定义如下;所需函数1、初始化双栈void InitDblStack(DblSt原创 2020-10-29 22:46:48 · 13957 阅读 · 11 评论 -
【数据结构】判定给定的字符序列是否为回文
文章目录问题思路问题回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符序列是否为回文。是回文。试写一个算法判定给定的字符序列是否为回文。思路总思路:将所有元素进栈,然后依次出栈与数组元素比较具体步骤1、键盘输入需要判断的字符串存放在数组中2、将数组中的元素依次进栈3、栈顶元素出栈与数组元素比较效果相当于a[3]a[0]与a[2]比较a[1]与a[1]比较a[2]与a[0]比较代码如下:#include原创 2020-10-26 22:52:11 · 12738 阅读 · 2 评论 -
线性表之单链表求集合并集
线性表之单链表求集合并集学习目标:掌握以下内容1、单链表的创建2、将数据插入单链表3、单链表合并4、单链表去重学习时间:2020/10/20学习产出:CSDN 技术博客 1 篇哔哩哔哩专栏1篇文章目录线性表之单链表求集合并集学习目标:学习时间:学习产出:一、自定义结构体二、初始化单链表三、单链表长度测量四、 在第i个位置插入结点五、单链表排序(递增)六、单链表去除重复元素五、两个链表并集六、主函数七、调用函数库一、自定义结构体typedef char elem;typedef原创 2020-10-21 19:06:50 · 2763 阅读 · 0 评论