线性结构
、Edgar
Coding with fun
展开
-
线性表
1.线性表的定义线性结构是n(n≥0)个结点的有穷序列(a0, a1, ..., an-1)。a0被称为起始结点, an-1被称为终端结点,i称为ai的序号或位置。对任意一对相邻结点ai和ai+1(0≤i≤n-2),ai被称为ai+1的直接前驱,ai+1称为ai的直接后继。其实结点只有直接后继,终端结点只有直接前驱。线性结构中的每个结点代表一个数据元素。在不同的实际问题中,结点代表的数据元素是...原创 2019-09-08 08:00:13 · 1151 阅读 · 0 评论 -
栈
1.栈的定义栈是一种特殊的线性表,在这种线性表中的插入和删除运算限定在表的一段进行。允许插入和删除的一端称为栈顶,另一端称为端底,处于栈顶位置的元素被称为栈顶元素,一个栈如果没有元素,则被称为是空栈。在栈中插入一个元素被称为入栈,删除一个元素为出栈。 栈一定满足后进先出。栈的基本运算:1.创建一个栈 create2.进栈push(x)3.出栈pop(x)4.读栈顶元素top...原创 2019-09-08 21:25:43 · 181 阅读 · 0 评论 -
队列
1.队列的定义队列是一种特殊的线性表。在这种线性表中,插入和删除都限定在表的一端。允许插入的一端为队尾,允许进行删除的一端为队头,位于队头的元素为队头元素,位于队尾的元素为队尾元素。队列中的元素个数为队列的长度,若队列中没有元素,则为空队列。在队列中插入一个元素为入队,删除一个元素为出队。 队列满足 先进先出。队列的主要操作:1.创建一个队列create()2.入队enQueue(...原创 2019-09-09 13:16:15 · 164 阅读 · 0 评论 -
字符串
1.字符串的定义字符串由若干个字符按照一定的顺序组合而成,如果把单个字符看作成一个元素,则可把字符串看成是一个字符类型的线性表。更加确切的说,字符串是由零个或多个字符组成的有限序列。字符串的基本操作有:求字符串中的字符的个数length(s) 字符数的输出disp(s) 判断两个字符串是否相等equal(s1, s2), 大于greater(s1, s2), 大于等于greater...原创 2019-09-23 22:56:42 · 219 阅读 · 0 评论 -
Standard Template Library ~ vector + list + deque
STL中的线性表有3种实现:顺序实现vector,双链表的实现list和优化实现deque。这些类都可以用迭代器来访问。由于每个类的实现方式是不同的,因此这些类对应的迭代器类的实现也是不同的。为了便于用户使用,STL将迭代器类定义为相应容器内的公有的内嵌类,并且对于所有的迭代器,他们的类名都是相同的。因此,用户不需要分别记忆某个类的迭代器的类名是什么。每个容器提供两个迭代器类:iterator和c...原创 2019-05-01 16:10:24 · 117 阅读 · 0 评论 -
Standard Template Library ~ stack
栈是运用最广泛的数据结构之一,许多结构都基于栈来实现。如程序中函数的调用,表达式的计算以及检查程序中各种括号是否配对等都是依靠栈来实现的。为此,C++在它的标准模板库中实现了栈类,使C++程序员在编程中需要使用栈的时候不需要自己来实现栈类,而只需要使用标准库中的栈类便可。STL中的栈提供4个标准运算:push(进栈),top(返回栈顶元素),pop(出栈),empty(判断是否为空栈)。栈本质...原创 2019-05-02 09:40:18 · 110 阅读 · 0 评论 -
Standard Template Library ~queue
队列是应用最广泛的数据结构之一,很多应用都是基于队列实现的。如系统中各种资源的调度,现实生活中排队系统的模拟等都需要用到队列。为此,C++在其标准模板库中实现了队列类,C++程序员在编程中需要用到队列时可以直接使用标准的模板库中的队列类。与栈类似,队列本质上也是一个线性表,STL中的队列类是一个容器适配器,它是借助于list或者deque类实现的。STL中的队列提供了6个标准运算:入队操作pu...原创 2019-05-03 10:00:05 · 134 阅读 · 0 评论 -
Standard Template Library ~string
C++提供了一个处理字符串的标准类,它被定义在string里面,string类的对象可以通过C++的运算符进行操作,使用string是必须包括头文件stringstring类对象可以用构造函数进行初始化,例如:string s1("hello, world");string s2="hello, world";当然的话,也可以定义一个空字符string类中重载了=、+、...原创 2019-06-17 21:08:57 · 121 阅读 · 0 评论 -
Standard Template Library ~priority_queue
在STL中,有一个优先级队列的类模板priority_queue,它包含在头文件queue中。这个类模板是用二叉堆实现的。类模板priority_queue是一个容器适配器,它有三个模板参数:队列中的元素类型,底层存储二叉堆的容器类型、最大堆还是最小堆。第二、三个参数是保存在vector中。第三个参数默认是最大堆,即数值越大,优先级越高。主要成员函数有:(1) void push(con...原创 2019-07-07 11:23:50 · 85 阅读 · 0 评论