数据结构实验
文章平均质量分 95
筱姌
不被定义,庆幸自己,我可以是任何样子。我野蛮生长,自己便是月亮。
展开
-
数据结构实验:用栈求解迷宫问题的所有路径及最短路径
mgpath(int xi,int yi,int xe,int ye):求解迷宫问题,即输出从入口(xi,yi)到出口(xe,ye)的全部路径和最短路径(包含最短路径长度)。与《教程》3.1.4节中的求解迷宫问题程序相比,其改进的方法是当找到一条路径时不使用return语句退出,而是出栈一次,重新回溯走另一条路径并输出,并用minlen记录最短路径长度,用Path数组记录最短路径。栈的后进先出特性非常适合记录路径的回溯过程,能够有效地实现迷宫路径的搜索。函数:输出最短路径的长度和路径中的每个位置。原创 2024-10-11 11:23:39 · 787 阅读 · 0 评论 -
数据结构实验二之栈和队列(上)——环形队列和链队
编写一个程序sqqueue.cpp,实现环形队列(假设栈中的元素类型ElemTye为char)的各种基本运算,并在此基础上设计一个程序exp3-3.cpp完成以下功能。实现了链队(一种基于链表实现的队列数据结构)的基本操作,包括初始化、进队、出队、判断队列是否为空以及销毁队列等功能,并在。· enQueue(SqQueue *&q,ElemType e):环形队列进队一个元素e。·deQueue(SqQueue *&q,ElemType &e):环形队列出队一个元素e。函数:作用是初始化环形队列。原创 2024-09-29 12:58:06 · 830 阅读 · 0 评论 -
数据结构实验二之栈和队列(上)——顺序栈和链栈
编写一个程序sqstack.cpp,实现顺序栈(假设栈中的元素类型Elemtype为char)的各种基本运算,并在此基础上设计一个程序exp3-1.cpp完成以下功能。编写一个程序listack.cpp,实现链栈(假设栈中的元素类型Elemtype为char)的各种基本运算,并在此基础上设计一个程序exp3-2.cpp完成以下功能。· GetTop(SqStack *s,ElemType &e):取顺序栈的栈顶元素e。· Pop(SqStack *&s,ElemType &e):元素e出顺序栈。原创 2024-09-29 11:29:14 · 1129 阅读 · 0 评论 -
数据结构实验二之线性表(下)
这段代码实现了循环双链表的一系列基本操作,包括创建链表(头插法和尾插法)、初始化链表、判断链表是否为空、求链表长度、输出链表、查找链表中特定位置的元素、查找特定值在链表中的位置、在链表中插入元素和从链表中删除元素以及销毁链表等功能。· ListInsert(DLinkNode&L,int i,ElemType e),在循环双链表L中的第i个位置上插入元素e。· ListDelete(DLinkNode * &L,int i,ElemType &e):从循环双链表L中删除第i个元素。原创 2024-09-24 09:30:00 · 1551 阅读 · 0 评论 -
数据结构实验二之线性表(上)
编写一个程序sqlist.cpp,实现顺序表的各种基本运算和整体建表异法(假设顺序表的元素类型 Elem Type为char),并在此基础上设计一个程序exp2-1.cpp完成以下功能。· ListInsert(SqList*&L,inti,ElemType e):在顺序表L中的第i个位置上插入元素c。·GetElem(SqList *L,int i,ElemType &e):获取顺序表L中的第i个元素。返同单链表L中的元素个数。的元素的序号)从单链表的第一个数据节点开始遍历单链表,逐个比较每个节点的。原创 2024-09-23 09:30:00 · 1090 阅读 · 0 评论 -
数据结构实验二之线性表(中)
ListDelete(DLinkNode *&L,int i,ElemType &e):从双链表L中删除第i个。· GetElem(LinkNode *L,int i,ElemType &e):获取循环单链表L中的第i个元素。· ListInsert(LinkNode*&L,int i,ElemType e):在循环单链表L中的第i个位置。· ListDelete(LinkNode*&L,int i,ElemType &e):从循环单链表L中删除第i个。原创 2024-09-23 16:15:00 · 586 阅读 · 0 评论 -
数据结构实验1
编写一个程序,对于给定的正整数n,求1+2+…值下的结果,可以直观地观察到它们的增长趋势差异,对于分析算法的时间复杂度非常有帮助。阶乘的定义:一个正整数的阶乘是所有小于及等于该数的正整数的乘积。通过比较两种方法,可以看出在处理较大范围的素数个数计算时,改进后的方法(方法 2)具有更高的效率,因为其时间复杂度更低。统计素数个数的原理:通过遍历一定范围内的整数,对每个整数使用判断素数的函数进行判断,如果是素数则计数器加一。),那么对于较大的输入规模,该算法可能会非常耗时,而如果算法的时间复杂度是线性的(如。原创 2024-09-13 19:39:27 · 1420 阅读 · 0 评论