1. 顺序2.链1. 顺序#include <iostream>using namespace std;#define MAXSIZE 12#define OK 1#define ERROR 0//顺序typedef struct Sqstack {int* top;int* base;int stacksize;}Sqstack;int initSatck(Sqstack&
原创 2021-04-20 09:30:20
350阅读
stack.h#ifndef STACK_H_#define STACK_H_#include<iostream>template<class T>struct Node{ T data; Node<T>* next;};template<class T>class Stack{priv
原创 2023-01-31 09:34:15
162阅读
,是一种存储受限线性数据结构,在存储和访问数据时候只能访问一端。类似于一摞盘子,只能拿去最上面的盘子,也只能把盘子放到最上面。由于这种特点,是一种后进先出(Last in / First out, LIFO)数据结构。 主要操作有以下几种: push向顶插入元素(摞上去一个盘子)top获取顶元素值(看看最上面那个盘子上面写了什么东西)pop取出顶元素(拿走最上面的盘子)
转载 2019-01-15 21:16:00
118阅读
2评论
#ifndef _ARRAY_H_#define _ARRAY_H_/** 实现一个数组模板,在上* why* 2016/9/5*/template< typename T, int N >class Array{private: T m_array[N];public: int length(); //获取数组长度 bool set_array(T value, int inde
原创 2016-09-05 16:42:46
374阅读
示例中,压push语句是 space[--top] = element; 而出pop语句是 space[top++]; 这个逻辑和数据结构中算法恰好相反; ...
转载 2021-08-08 12:02:00
71阅读
2评论
简介: 限定仅在表尾进行插入或删除操作线性表 表尾端称为顶(top),表头
原创 2022-09-21 15:41:36
127阅读
文章目录​​总结归纳​​​​代码实现​​ 总结归纳特点是先进后出(First In Last Out / FILO),可以理解为叠罗汉,先来叠在最下面,要等上面的都抽走了它才能出来。创建、入、出、查找,都是在O(1)时间复杂度内完成。关于销毁,这里使用是静态数组,所以只需将S.top重置为-1,即为清空(逻辑上),新元素直接覆盖即可。通过变量声明占用内存,将在代码结束
原创 2021-12-07 16:47:59
207阅读
可定义为只允许在表末端进行插入和删除线性表,只在顶插入和删除。没有元素则为空。Stack.h[code="c++"]#ifndef STACK_H#define STACK_Htemplateclass Stack{public: Stack(){}; virtual void Push(const T& x)=0; vi...
原创 2023-04-10 19:49:17
107阅读
1、应用1 解决迷宫问题 2、应用2 逆波兰式计算 3、迷宫 递归法(不用) 4、迷宫 (最短路)
c++
c
原创 2016-04-11 14:43:33
659阅读
2点赞
堆对象:是指在程序运行过程中根据需要随时可以建立或删除对象。这种堆对象被创建在内存一些空闲存储单元中,这些存储单元被称为堆。它们可以被创建堆对象占有,也可以通过删除堆对象而获得释放(否则会引起内存溢出)需要两个关键字:  1.new 创建一个堆对象;  2.delete 删除堆对象,以便是否内存 对象:  由编译器自动分配和释放  用于保存一些局部变量、函数参数等区别:一.
转载 2023-07-08 21:40:29
27阅读
C++内存结构占内存:1、虚拟函数表指针2、成员变量不占内存:成员函数
原创 2021-09-28 14:48:21
710阅读
C++内存结构 占内存: 1、虚拟函数表指针 2、成员变量 不占内存: 成员函数
转载 2020-06-06 16:42:00
178阅读
2评论
总结归纳共享实现,就是申请一块内存,两个共同使用同一块内存空间,一个从左往右存,一个从右往左存。共享存满判断条件是:S.top1 + 1 == S.top2(指针指向情况下)。 代码实现/*共享*/#define MaxSize 10 // 中元素最大个数#include <cstdlib>#include <iostream>#include &l
原创 2021-12-07 16:41:22
482阅读
概念是数据结构中一种特殊线性表,它基本特性是“先入后出,后入先出”。如下图:基本操作有基本操作如下:void Push(const T& d);//入 void Pop();//出 T& Top();//返回顶元素 bool Empty();//判断是否为空 size_t Size();//中元素个数实现Stac
原创 2016-04-10 00:24:47
606阅读
后进先出(LIFO-last in first out),只能访问元素,不能直接访问其他元素C++函数stack提供了全部功能,这里面已经实现了一个先进后出数据结构,不需要我们再去重新定义各种函数,简化开发过程。-->函数stack用法://stack头文件#include<stack>//实例化:  stack<type> Stack
原创 精选 2021-12-14 17:32:58
457阅读
总结归纳我想了又想,觉得链实现只能是头插法建立单链表,S 为头结点,S-next->data 是顶元素,S->next 是顶指针,每次弹出就是通过头结点找到顶元素
原创 2021-12-10 10:04:31
529阅读
括号匹配 (100/100 分数)题目描述应用非常广泛。请先实现一个模板(定义已在下面给出),然后利用这个解决下面的问题:给定一个字符串,长度小于1000,其中只包含左右括号和大小写英文字母。请编写程序判断输入字符串里左右括号是否全部是匹配,匹配规则即从内到外左括号都与其右边距离最近右括号匹配。如匹配,输出“Yes”,否则,输出“No”。模板定义如下:...
原创 2021-09-03 17:37:59
167阅读
先看一下原c++方法基本用法: push(): 向内压入一个成员;pop(): 从顶弹出一个成员;empty(): 如果为空返回true,否则返回false;top(): 返回顶,但不删除成员;size(): 返回内元素大小;代码示例:#include&...
转载 2021-08-25 14:03:46
2289阅读
1.队列#pragma oncetemplatestruct Node{ T _data; Node* _next; Node(const T& x) :_data(x) ,_ne
原创 2022-09-02 13:58:41
44阅读
C++ 中用来定义自己 抽象数据类型 ( abstract data type )数据抽象能够隐藏对象内部表示,同时仍然允许执行对象公有 public 操作。1, 作用域2, 构造函数3, this 指针与有关三个新特征 : 1), 作用域 2), 可变成员 3), 静态成员...
转载 2013-02-20 23:58:00
979阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5