数据结构之栈

栈是一种特殊的线性表,栈中的数据元素以及数据元素间的逻辑关系和线性表相同,两者之间的差别在于:线性表的插入和删除操作可以在表的任意进行,而栈的插入和删除操作只允许在表的尾端进行。其中,栈中只允许进行插入和删除操作的一端称为栈顶,另一端称为栈底。通常,将栈的插入操作称为入栈(push),而将删除操作称为出栈(pop)。从栈的概念可知,每次最先入栈的数据元素总是被放在栈的底部,成为栈底元素;而每次最先出栈的总是那个放在栈顶位置的数据元素,即栈顶元素。因此,栈是一种后进先出(LastInFirstOut,LIFO)或先进后出(FirstInLastOut,FILO)的线性表。 栈也是由n(n≥0)个数据元素所构成的有限序列,其数据元素的类型可以任意,但只要是同一中类型即可。根据栈的特性,定义在栈的抽象数据类型中的基本操作如下:置栈空操作clear():将一个已经存在的栈置成空栈。判栈空操作isEmpty():判断一个栈是否为空,若栈为空,则返回true;否则,返回false。求栈中数据元素个数操作length():返回栈中数据元素的个数。取栈顶元素操作peek():读取栈顶元...
开发笔记 开发笔记·2020-03-09

数据结构之线性表

对于同一个线性表,其每一个数据元素的值虽然不同,但必须具有相同的数据类型;数据元素之间具有一种线性的或“一对一”的逻辑关系。第一个数据元素没有前驱,这个数据元素被称为开始节点;最后一个数据元素没有后继,这个数据元素被称为终端节点;除了第一个和最后一个数据元素外,其他数据元素有且仅有一个前驱和一个后继。 基本操作如下:线性表的置空操作clear():将一个已经存在的线性表置为空表。线性表判空操作isEmpty():判断线性表是否为空,若为空,则返回true;否则,返回为false。求线性表的长度操作length():求线性表中的数据元素的个数并返回其值。取元素操作get(i):读取并返回线性表中的第i个数据元素的值。其中i的取值范围为0≤i≤length()-1。插入操作insert(i,x):在线性表的第i个数据元素之前插入一个值为x的数据元素。其中i的取值范围为0≤i≤length()。当i=0时,在表头插入x;当i=length()时,在表尾插入x。删除操作remove(i):删除并返回线性表中第i个数据元素。其中i的取值范...
开发笔记 开发笔记·2020-03-09
首页上一页...537538539540541下一页尾页