随笔分类 -  数据结构

图的顺序存储结构
摘要:对于图的存储,只要理解其中一个,对于其他的理解自然也就理解了。 有向图与无向图:无向图相对于有向图,就是将有向图矩阵关于主对称轴对称。在数据存储时,多进行一次,横纵坐标交换存储的过程。 有向网和无向网同有向图和无向图:多出的仅仅是权值的村储,也就是将位置关系判断的变量存储权值。(实际上,我们表示图的
289
0
0
二叉树简单遍历(先序,中序,后序,层次遍历)
摘要:先序遍历的实现思想是: 中序遍历的实现思想是: 后序遍历的实现思想是: 从根节点出发,依次遍历各节点的左右子树,直到当前节点左右子树遍历完成后,才访问该节点元素。 层次遍历: 通过使用队列的数据结构,从树的根结点开始,依次将其左孩子和右孩子入队。而后每次队列中一个结点出队,都将其左孩子和右孩子入队,
386
0
0
字符串学习小结
摘要:字符串:串使用串存储结构来储存字符串,串存储结构也是一种线性存储结构,因为字符串中的字符之间也具有"一对一"的逻辑关系,但是串存储结构只用来存储字符串。 串存储结构 串的定长顺序储存 就是我们在C语言中使用的数组,在使用数组前,我们都要申请足够大的空间来存储字符串,且大小不能改变,这也是不方便的地方
302
0
0
One By One扑克牌游戏(C++)
摘要:用我们方言说就是类似“骡子冲”的游戏,游戏双方各拿一定数目的扑克牌,每次每个人打一张牌,排成一列。如果打出的牌有一样的,那么这两张牌(包括这两张牌),全部按顺序拿到打出第二张相同牌的玩家手中,且放在手中牌底。最后,谁先把牌打完,谁输。 思路: 将出牌双方看成两个队列,将桌子看成栈。 队列中,一个变量
500
0
0
链式队列
摘要:链式队列和链表很相似。 不过对链式队列中数据的添加是通过两个指针进行top和rear(添加和输出都是one by one) 对于链式队列有两种基本方式,一种是带有头结点,一种是没有头结点。没有头结点的方式,需要自己去获取第一次添加元素的队头。 推荐有头结点的方式,方便理解。 含有头结点方式: 不含有
174
0
0
顺序队
摘要:队列可以看成是两边开口的栈,它遵守先进先出原则。 在使用顺序队时,相当于使用数组,需要提前声明一段空间。 使用两个变量分别指向队头和队尾。 因为顺序队需要指定大小,所以创建的队列大小也是有效且一次性的,这时候就可以使用循环队列,对首尾进行连接,可以对指定大小空间进行重复利用。 当队列为空时,队列的头
155
0
0
链栈
摘要:类似于头插法的链表
178
0
0
顺序栈
摘要:栈同样也是用来储存一对一线性存储结构 栈的“存”和“取”要求: 1.一端开放,一端封闭 2.先进后出 向栈中添加元素称为“进栈”(压栈或者入栈) 向栈中提取元素称为“入栈”(弹栈)
173
0
0
进制转换器(C++)
摘要:支持2,4,8,16,32进制转换 思路: 1.输入需要转换的进制和数(字符串),倒序进行转换(利用ASCII码,分为数字和大写英文字母)为十进制 (数字字符 - 48) *pow(进制,字符总数-所在位置 - 1) (字母字符- 55) * pow(进制,字符总数-所在位置 - 1) 2.输入需要
609
0
0
俄罗斯轮盘赌游戏(C++)
摘要:/*游戏的道具是一把左轮手枪,其规则也很简单:在左轮手枪中的 6 个弹槽中随意放入一颗或者多颗子弹,在任意旋转转轮之后,关上转轮。游戏的参加者轮流把手枪对着自己,扣动扳机:中枪或是怯场,即为输的一方;坚持到最后的即为胜者。*/#include #include #include #define random(a,b) (rand()%(b-a+1)+a) using namespace...
1723
0
0
双向循环链表
摘要:在约瑟夫环问题中如果需要循环进行,这一轮顺时针,下一轮逆时针,在下一局顺时针...这时就能用双向循环链表
182
0
0
双向链表
摘要:#include using namespace std; struct Link { struct Link* prior; int data; struct Link* next; }; Link* InitLink(Link *head) { head = new Link;//创建首元节点 head->data = 1; head-...
223
0
0
约瑟夫环(循环链表)
摘要:约瑟夫环问题,是一个经典的循环链表问题,题意是:已知 n 个人(分别用编号 1,2,3,…,n 表示)围坐在一张圆桌周围,从编号为 k 的人开始顺时针报数,数到 m 的那个人出列;他的下一个人又从 1 开始,还是顺时针开始报数,数到 m 的那个人又出列;依次重复下去,直到圆桌上剩余一个人。
1815
0
0
静态链表
摘要:#include #include using namespace std; #define SIZE 6 struct comp { int data; int cur; }; void reserveArr(comp *array); int initArr(comp *array); void Display(comp *array, int); int mall...
141
0
0
链表
摘要:含有头结点的链表和不含头结点的链表 有和没有的区别在于,我们申请第一个几点时,是否给数据进行初始化。 以及他们在输出时也会有区别,有头结点的需要先TempLink = TempLink->next;在输出TempLink->elem;(先转到储存数据的节点,再输出) 而没有头结点的链表,可以直接输出
205
0
0
顺序表
摘要:顺序表在储存数据前会申请一块连续空间。 对于顺序表的使用,和以前使用动态分配实际差不多。 初始化: 插入: 删除: 查找: 更改:
152
0
0
数据结构(开篇)
摘要:什么是数据结构? 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。简而言之就是研究数据储存方式。 数据结构的应用: 平时我们储存多项数据会使用数组,容器等,但是如果需要存储一个族谱这种带有关系的数据,我们可以使用数据结构中的树结构储存。 对于我们在导航时,地
177
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起