摘要: #问题导入: 有同学让我教教他C语言的文件操作,他的要求是从文件中读取几个学生的姓名和年级信息到结构体中,我想这岂不是非常简单嘛。当场码代码给他看,结果翻车了。当文件中的姓名和年级信息都为英文的时候,表现一切良好,然后当我把姓名和年级信息改为中文时,在vs控制台上输出却发生了乱码。当时有点尴尬,这个 阅读全文
posted @ 2020-06-01 09:56 YBossy 阅读(3191) 评论(0) 推荐(0)
摘要: 堆 在学数据结构堆之前,我以为我将要学习的是堆栈中的“堆”,可以与动态分配内存有关的堆的数据结构学个清楚了,开始学习时我才发现,此堆非彼堆,这个数据结构中的堆,与我心想的堆并非是同一类玩意。 堆的原理: 堆是利用完全二叉树的结构来处理一组数据,其特点如下 1> 每个节点最多可以有两个节点。 2> 根 阅读全文
posted @ 2020-05-27 13:14 YBossy 阅读(251) 评论(0) 推荐(0)
摘要: 优先队列故事引入 现实生活中,我们在排队干一件事情的时候,总要有个先来后到,但是如果其中一个人是vip,恐怕就可以后来居上了。因此,我们这里用优先队列来模拟这种现实生活中的情况。 优先队列原理 优先队列相比较于普通的队列,入队的顺序并没有发生变化,唯一不一样的是,出队的顺序是根据队列中元素的优先级( 阅读全文
posted @ 2020-05-18 21:47 YBossy 阅读(257) 评论(1) 推荐(0)
摘要: 循环队列 导入及其原理 在前面队列的顺序存储中,我们遇到了一个问题,就是我们如果要队尾出列一个元素的话,相应的front就要加1,而一旦front和rear都指向队尾后,就会造成,存储空间还有,然而队列已满,无法存储的现象。我们要解决这个问题,用队伍前面的空间继续存储元素,在rear指向队尾前一个元 阅读全文
posted @ 2020-05-12 09:16 YBossy 阅读(290) 评论(0) 推荐(0)
摘要: 链式队列 原理: 链式队列的存储结构不过是一个遵循头进尾出原则的单链表而已,我们将队头指针指向链队列的头结点,而队尾指针指向终端节点。 这是其结构体定义: 在这里我们每个节点的元素有指针QNode,int类型数据data,以及返回类型为空,参数为空的函数指针handler,指向task1或task2 阅读全文
posted @ 2020-05-11 15:18 YBossy 阅读(348) 评论(0) 推荐(0)
摘要: 队列 原理: 队列是一种受限的线性结构 它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。 队列的顺序存储 用数组来存储队列的元素,设立一个队首(front)用来表示队首元素的下标,设立一个队尾(rear)用来表示队尾元素的下标。 其结构体定义如下 算法实现: 初始 阅读全文
posted @ 2020-05-11 09:57 YBossy 阅读(546) 评论(0) 推荐(0)
摘要: 双向链表 原理 单链表在遍历其每一个元素的过程中,一旦通过某个节点的next进入了下一个节点之后,就没有办法再回到上一个节点了,单链表只能往前走,而不能往后,这样子显然非常的不方便。解决的办法是我们在单链表的基础上给每一个元素附上两个指针域,一个是指向下一个节点的next,另一个是指向下一个节点的p 阅读全文
posted @ 2020-05-08 08:50 YBossy 阅读(246) 评论(0) 推荐(0)
摘要: 约瑟夫环问题(这里引用自360百科) 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问 阅读全文
posted @ 2020-05-04 09:13 YBossy 阅读(129) 评论(0) 推荐(0)
摘要: 满天星空代码实现 阅读全文
posted @ 2020-05-01 11:55 YBossy 阅读(2399) 评论(0) 推荐(0)
摘要: 链表学习(单链表) 链表的原理 链表是线性表的链式存储方式,逻辑上相邻的数据在计算机内的存储位置不一定相邻,那么如何表示逻辑上的相邻关系呢,我们可以给每一个元素附加一个指针域,用来 指向下一个元素的存储位置。 1.每个节点由指针域跟数据域组成 2.指针域中存储的指针指向下一个元素的地址 其结构体定义 阅读全文
posted @ 2020-05-01 11:43 YBossy 阅读(173) 评论(0) 推荐(0)