数据结构
文章平均质量分 59
L_R
这个作者很懒,什么都没留下…
展开
-
菜鸟学习历程【14】停车场项目实战
停车场项目实战停车场是一个能放 n 辆车的狭长通道,只有一个大门,汽车按到达的先后次序停放。若车场满了,车要停在门外的便道上等候,一旦有车走,则便道上第一辆车进入。当停车场中的车离开时,由于通道窄,在它后面的车要先退出,待它走后在依次进入。汽车离开时按停放时间收费。基本功能要求: (1)建立三个数据结构分别是:停放栈、让路栈、等候队列。原创 2017-11-29 00:10:50 · 297 阅读 · 0 评论 -
菜鸟学习历程【15-4】冒泡排序
4.冒泡排序冒泡排序是大家最熟悉的一种排序方式,这种排序的基本思想是,将序列中两两相邻的数依次比较大小,按照递增或者递减的方式排序,以递增为例,将两两相邻的两个数中较大的数放在后面的位置,这样一轮结束后,最大的数会在序列的最后面。以序列a[] = {29, 17, 35, 6, 12, 31, 28, 15}为例;第一次遍历: 那么第一次遍历完成后,最大数35移到了序列的最后原创 2017-12-03 14:41:49 · 282 阅读 · 0 评论 -
菜鸟学习历程【15-3】快速排序
3.快速排序快速排序是一种非常高效的排序,采用“分而治之”的思想,将序列分成两部分,前部分的所有数据都小于后半部分,再将前半部分和后半部分拆分成两部分,这两部分的前半部分又都小于后半部分,按这样的规律排序下去,就会将整个序列按从小到大的顺序排列完成。那么具体是如何实现的,让我通过实例具体讲解一下。 以数组a[] = {28, 17, 6, 18, 37, 3, 20, 31}为例; 我原创 2017-12-02 21:02:46 · 372 阅读 · 0 评论 -
菜鸟学习历程【15-2】希尔排序
2.希尔排序希尔排序,也叫做减小增量排序,过程大致如下:(一般情况下,我们习惯上第一次遍历将数组长度length/2 作为一次遍历的步长)以数组a[] = {35, 27, 17, 22, 5, 25, 18, 40, 9, 11}为例;1.取数组长度(length/2)作为第一次遍历的步长,对每一组进行直接插入排序: 2.取上一次步长的一半 ,即 5/2 = 2为步长,将每一组原创 2017-12-02 19:00:52 · 296 阅读 · 0 评论 -
菜鸟学习历程【18】通讯录项目
通信录项目实战格式: 编号 姓 名 住址 电话 座机 201701 xxxxx xxxx 183****5668 8568***1要求:使用结构体形式对数据存储功能:使用链表实现增加(在增加人员的过程中有一个自动排序功能,比如按姓名排序)、删除、修改、查找(比如:工号查找、电话查找)的功能; (1)添加用户信息(号码长度原创 2017-12-07 16:14:45 · 201 阅读 · 0 评论 -
菜鸟学习历程【15-6】堆排序、归并排序、基数排序
堆排序 堆排序是将序列人为的类比做堆来处理,分为大堆和小堆,大堆就是双亲结点大于孩子结点,这里的孩子自身可能也是“双亲”,那么这个“双亲”还要大于它的孩子,小堆于此相反。 当所有结点满足这个大堆的条件后,最上面的根节点肯定是这个序列中最大的数,然后我们将这个数与最后一个结点交换,再对除了最后一个结点外的所有结点进行大堆处理,依次反复,最终会将这个序列排成从小到大的顺序。下面,让我们结合图原创 2017-12-04 11:49:36 · 859 阅读 · 2 评论 -
菜鸟学习历程【15-5】简单选择排序
5.简单选择排序简单选择排序,就是一种简单直观的排序方式,基本原理:第一次遍历时,将序列中最小的数与第一个位置的数进行交换;第二次遍历,将除去第一个数以外的所有数中最小数与第二个位置进行交换,直到最后只剩一个数;以序列a[] = {29, 17, 35, 6, 12, 31, 28, 15}为例; 这种排序比较容易理解,直接附上代码:#include void Se原创 2017-12-03 15:27:13 · 246 阅读 · 0 评论 -
菜鸟学习历程【12】链表
链表本文仅对单向链表进行讲解,其余链表类型不做过多讲解。一、定义:链表是线性表的链接存储表示二、分类:单向链表、静态链表、双向链表、循环链表三、特点:每个元素由数据域和指针域构成 1.结点可以连续,也可以不连续存储; 2.结点的逻辑顺序与物理顺序可以不一致; 3.表的容量可以不断变大(顺序表是固定的)。四、插入结点head为头结点,a为待插入的结点,假设a的地址为0x100;对于...原创 2017-11-24 20:42:38 · 1151 阅读 · 0 评论 -
菜鸟学习历程【11】数据结构
数据结构一、线性表1.定义:定义n个数据元素的有限序列,记作(a1, a2, …, an),ai 是表中数据元素,n 是线性表的长度。2.特点: 直接前驱:除第一个元素外,其他每一个元素有且仅有一个前驱; 直接后继:除最后一个元素外,其他每一个元素有且仅有一个后继。 二、顺序表1.定义:将线性表中的元素相继存原创 2017-11-24 11:57:42 · 325 阅读 · 0 评论 -
菜鸟学习历程【13】栈和队列
栈和队列栈和队列是数据结构中比较常用的两种类型,栈(FILO)先进后出,即先存放的数据最后才能出栈、队列(FIFO)先进先出。原创 2017-11-29 00:10:14 · 319 阅读 · 0 评论 -
菜鸟学习历程【15-1】直接插入排序
排序就是按照递增或者递减的次序整理文件中的记录。 排序分为稳定排序和不稳定排序,什么是稳定,什么又是不稳定?例如:3 15 8 8 6 9 在上述6个数字中的排序过程中,如果将两个8的位置交换过,那么就称为不稳定排序,否则就是稳定排序。 换言之,在某个序列的排序过程中,如果对数值相等的数据进行过交换,那么这种排序就被称为不稳定排序,否则就是稳定排序。排序原创 2017-12-02 16:10:34 · 457 阅读 · 0 评论