随笔分类 - 数据结构算法分析设计
摘要:定义: 队列(queue)一种先进先出(first in first out,FIFO)的线性表,只允许在表的一端插入元素,在另一端删除元素。基本术语: 队尾(rear):允许插入元素的一端。 队头(front):允许删除元素的一端。存储方式: 1顺序存储方式 2链式存储方式循环队列: 队列的顺序存储方式使用一个一维数组来实现。 采用数组来存放队列元素就要解决一个假溢出的问题。所谓假溢出,就是在一个能够存储maxsize个元素的数组中,当rear指针指向了数组中下标为maxsize-1时,又有一个新的元素被插入到队列中,而此时队列却并不是真正存储空间不够而溢出。这种情况的例子...
阅读全文
摘要:栈(stack)是一种常用的重要数据结构,由于其具有后进先出(last in first out,LIFO)的特性,又被叫做后进先出线性表。 基本术语: 栈顶(top):栈中允许插入和删除的一端叫做栈顶。 栈底(bottom):不允许插入和删除的另一端。 入栈/压栈:指向栈中添加元素的操作。 出栈/弹栈:指删除栈顶元素的操作。 栈的主要操作有: (1)初始化 (2)入栈 (3)出栈 (4)栈清空 (5)判断栈是否已满 常用存储方式: 1.顺序存储方式 2.链式存储方式顺序栈 顺序栈(sseqential stack)是指用...
阅读全文
摘要:定义: 表示n个相同类型的数据元素的有限集合。线性表的主要操作有: (1)初始化 (2)求长度 (3)取元素 (4)定位 (5)插入 (6)删除 (7)判断表是否为空 (8)表清空存储方式: 1.顺序存储方式 2.链式存储方式1.先是顺序存储方式: 1.1所谓顺序存储方式是值用一块地址连续的有限空间来存放表中的数据元素,任意两个逻辑上相邻的数据元素在物理内存上也必然是相邻的。这边本人使用C++来实现顺序表,一般顺序表的实现有动态数组和静态数组两种方式: 1.2静态数组实现起来比较简单,具体代码如下:线性表顺序存储方式(静态数组)1 /******************************
阅读全文

浙公网安备 33010602011771号