![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 51
菇凉小伙
努力加油奋斗
展开
-
单链表 简单题(单链表基本操作)
题目描述:有一个带头结点的单链表L=(a1,b1,a2,b2,......an,bn),设计一个算法将其拆分成两个带头结点的单链表L1和L2,其中L1=(a1,a2,a3...an),L2=(b1,b2,b3....bn),要求L1使用L的头结点。解题思路:利用原单链表L中的所有节点通过改变指针域重组成两个单链表L1和L2,由于L1中节点的相对顺序与L中的相同,所以采用尾插法建立单链表...原创 2018-10-08 16:15:25 · 1294 阅读 · 0 评论 -
查找马鞍点(数据结构第六章实验题)(数组与广义表)
目的:掌握数组算法设计内容:如果矩阵A中存在一个元素满足以下条件,即A【i】【j】是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。计算出n*m的矩阵A的所有马鞍点!代码实现:...原创 2018-11-26 11:02:35 · 1826 阅读 · 0 评论 -
恢复IP地址 C++语言(数据结构)
掌握基本递归算法设计题目描述:编写程序恢复IP地址,给定一个仅包含数字的字符串,恢复它的所有可能的有效IP地址,例如,给定字符串为“25525511135”,输出“255.255.111.35“和”255.255.11.135“(顺序可以任意)。解题思路:代码实现:...原创 2018-11-19 13:09:15 · 1705 阅读 · 2 评论 -
求N阶螺旋矩阵(数据结构第六章实验3)
目的:掌握数组算法的设计。内容:以下是一个n*n阶螺旋方阵,编写一个程序输出该形式的n*n(n<10)阶方阵(按顺时针方向旋进)思路:二维数组的灵活运用,(找规律)代码实现:补充:除了主要部分使用while()循环语句,还可以使用for()循环语句,代码如下:...原创 2018-11-20 19:46:42 · 1159 阅读 · 0 评论 -
文本串加密和解密程序代码
题目描述:一个文本串可用事先给定的字母映射表进行加密。例如,设字母映射表为:a b c d e f g h i j k l m n o p q r s t u v w x y zn g z q t c o b m u h e l k p d a w x f y i v r s j则字...原创 2018-11-10 16:59:45 · 4001 阅读 · 0 评论 -
判断对称串(栈应用)
题目描述:利用顺序栈判断一个字符串是否为对称串。所谓对称串是从左向右读和从右向左读的序列相同。解题思路:n个元素连续进栈,产生的连续出栈序列和输入序列正好相反,对于字符串str从头到尾将其所有元素连续进栈,如果所有元素连续出栈产生的序列和str从头到尾的字符依次相同,表示str是一个对称串,返回真,否则,表示str不是对称串,返回假。代码如下:#include<iostr...原创 2018-11-02 16:32:41 · 3329 阅读 · 0 评论 -
字符串的基本操作(数据结构)
具体操作如下:1.定义串:typedef struct { char data[Maxsize]; int length;} SqString;2.输入串:void StrAssign(SqString &s,char cstr[]){ int i; for(i=0; cstr[i]!='\0'; i++) ...原创 2018-11-06 13:51:52 · 2886 阅读 · 1 评论 -
栈的基础知识(图集)
栈的基本知识: 这些是关于栈操作的基本知识,整理时用图片的方式来做了这个博客,可能浏览时给大家带来不便,望大家见谅,谢谢理解!祝学习愉快!...原创 2018-10-31 10:54:38 · 471 阅读 · 2 评论 -
栈的应用之求解迷宫问题(栈操作)
问题描述:给定一个M*N的迷宫图,求一条从指定入口和出口的迷宫路径。假设迷宫图如图所示:M=N=6的迷宫图数据组织:为了表示迷宫,设置一个数组mg,其中每个元素表示一个方块的状态,为0表示方块是通道,为1表示方块是障碍物(不可走),为了算法方便,一般在迷宫的外围加一条围墙,例如上图的迷宫表示为(由于迷宫四周加了一道围墙,故mg数组的行数的列数均加上2)迷宫栈的声明:ty...原创 2018-10-31 10:02:12 · 1633 阅读 · 0 评论 -
双链表基本操作
建立双链表: 在双链表中,由于每个节点既包含一个指向后继节点的指针,又包含一个指向前驱节点的指针,所以当访问过每一个节点后既可以依次向后访问每一个节点,也可以依次向前访问每一个节点。因此,与单链表相比,双链表访问一个节点的前后节点更方便。代码实现:typedef struct DNode{ int data; struct DNode *prior;...原创 2018-10-10 10:40:18 · 211 阅读 · 0 评论 -
单链表 基本操作(元素递增排序)
题目描述:有一个带头节点的单链表L(至少有一个数据节点),设计一个算法使其元素递增有序排列。解题思路:由于单链表L中有一个以上的数据节点,首先构造一个只含有头结点和首节点的有序单链表(只含有一个数据节点的单链表一定是有序的),然后扫描单链表L余下的节点(由P指向),在有序单链表中通过比较找插入节点P的前驱节点(由pre指向它),在pre节点之后插入P节点,知道P==NULL为止(这里实...原创 2018-10-08 17:30:17 · 8155 阅读 · 5 评论 -
单链表基本操作(删除链表中最大元素)
题目描述:设计一个算法,删除一个单链表L中元素值最大的节点(假设这样的节点唯一)解题思路:在单链表中删除一个节点先要找到它的前驱节点,用指针p扫描整个单链表,pre指向节点p的前驱节点,在扫描时用maxp指向data域值最大的节点,maxpre指向maxp所指节点的前驱节点,当链表扫描完毕后,通过maxpre所指节点删除其后的节点。题解基础:利用单链表基本操作实现C++代码...原创 2018-10-08 16:55:14 · 8679 阅读 · 6 评论 -
二叉树的操作(数据结构)
题意:求二叉树中的结点个数,叶子节点个数,某结点层次,二叉树宽度掌握二叉树的遍历算法应用,熟悉使用先序,中序,后序三种遍历算法和层次遍历算法进行二叉树问题求解。数据结构第七章实验题6:例题:给出二叉树b为 "A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))",操作如下:(1)输出二叉树b的结点个数;(2)输出二叉树b的叶子节点个数;(3)求...原创 2018-11-30 17:10:04 · 373 阅读 · 0 评论