整理一下算法和数据结构

[心得]算法和数据结构Ellis Horowitz大神知识整理 主要取材自两本书: 计算机算法C++语言描述 第2版 Ellis Horowitz et al著 数据结构基础C语言版第2版 Ellis Horowitz et al著这个作者的写书风格很符合我这个非科班计算机从业者的胃口。数据结构基础前8章我去年仔细动手做过一遍,因此这次整理的是9~12章的高级内容。传统算法书只对很少的几个问题给出最优算法,但对设计过程着墨较少。作者认为算法书应该以设计为主分 阅读详情

先列一个目录,一个个往里面填充每个原理、图、源码、思想。

算法 数据结构 - 排序查找
(1)堆排序
(2)比较排序
(3)归并排序
(4)快速排序
(5)插入排序
(6)冒泡排序
(7)简单选择排序
(8)希尔排序


数据结构
1 HashTabe ConcurrentTable
2 ArrayList Vector CopyObWriteArrayList
3 Stack
4 BitMap
5 红黑树
6 B-树
7 二叉树 深度优先 广度优先
8 R-Tree
9 跳表


1 Bloom Filter

2 ringbuffer

3 限流令牌桶

4 加密解密算法

5 压缩算法

6 摘要CRC

7 字符串算法 子串查找 KMP

8 geohash和网格


分布式

1 paxos

2 一致性hash

3 虚结点

4 CAP

Java 算法和数据结构 答案整理,最新面试题 Fibonacci堆的优势在于其合并堆和修改节点值的操作都可以在对数时间内完成,特别适用于图算法中的优先队列操作,如Dijkstra和Prim算法。插入操作是将新节点添加到堆的根列表中,合并操作是将两个Fibonacci堆的根列表合并,这两个操作的时间复杂度为O(1)。对当前节点的所有未处理的邻接节点,计算通过当前节点到这些邻接节点的距离,如果比已知的距离小,则更新这些节点的距离。在Treap中,保持二叉搜索树的性质以及堆的性质,即任意节点的键大于左子节点、小于右子节点,且优先级高于其子节点。 阅读详情

相关推荐

Qt 6.5实战:用QMediaPlayer搞定RTSP监控流播放(附LAV Filters解码器避坑指南)

本文详细介绍了如何在Qt 6.5中使用QMediaPlayer实现低延迟RTSP监控流播放,并提供了LAV Filters解码器的配置避坑指南。通过优化缓冲策略和硬件加速设置,显著提升视频流的播放性能和稳定性,适用于工业视觉检测和安防监控等实时场景。

weixin_33712987的博客 400

c++/c算法和数据结构面试整理

1.排序: 我都可以代码实现 询问面试官哪个算法需要展开? 快排的优化 1.简述快排的过程. 快排就是:每次找到一个基准值, 然后将数组分成两部分,前半边都是小于基准值的, 后半边都是大于基准值的, 对基准值两边分别进行快排操作, 这样我们就形成了一个递归的过程. 2.时间复杂度: 最好:O(nlogn) 最坏:O(n2)  平均:o(nlogn) parttion过程需要o(n);将数组分成两部分, 每部分n/2; n/ 2->n/4->…->1个节点. 可分log2(n)层, 像第二层

weixin_43117602的博客 1203

FFmpeg实战:SEI自定义数据在RTMP推流中的高效嵌入

本文深入探讨了如何利用FFmpeg在RTMP推流中高效嵌入SEI自定义数据。通过将SEI比作与视频帧同步的“小纸条”,文章详细解析了H.264码流中SEI的结构与位置,并提供了命令行与API编程两种实战方法,帮助开发者实现直播答题、AI元数据回传等场景下的帧级精准数据同步。

weixin_29304021的博客 325

数据结构和算法知识点整理

AVL树是平衡⼆叉查找树,增加和删除节点后通过树形旋转重新达到平衡。右旋是以某个节点为中⼼,将它沉⼊当前右⼦节点的位置,⽽让当前的左⼦节点作为新树的根节点,也称为顺时针旋转。同理左旋是以某个节点为中⼼,将它沉⼊当前左⼦节点的位置,⽽让当前的右⼦节点作为新树的根节点,也称为逆时针旋转。红⿊树是1972年发明的,称为对称⼆叉B树,1978年正式命名红⿊树。主要特征是在每个节点上增加⼀个属性表示节点颜⾊,可以红⾊或⿊⾊。...

qq_45310537的博客 2438

半导体设备微振动控制:天棚阻尼PID与SIMULINK建模实战

半导体制造设备对微振动的敏感度已进入纳米级,光刻机、量测设备等一旦遭遇超过VC-C振动准则的扰动,便会出现套刻误差或检测误判。主动隔振技术通过传感器、控制器与执行器形成闭环,能有效抑制低频共振,其中天棚阻尼控制因物理概念清晰、鲁棒性强而成为工程首选。结合MATLAB/SIMULINK建模,可在设计阶段完成系统性能边界评估与参数整定,再通过C代码生成与FMU导出实现算法向控制器和跨平台仿真迁移。本文从VC-C指标拆解出发,依次讲解天棚阻尼PID控制原理、两自由度被控对象建模、控制增益估算、仿真验证方法,并给出

weixin_29169505的博客 326

别再只盯着YOLOv8了!手把手带你用PaddleDetection的PP-YOLOE+搞定你的第一个检测项目

本文介绍了PP-YOLOE+在目标检测领域的优势与应用实践,对比YOLOv8展示其在精度、速度和部署便利性上的突破。通过详细的代码示例和实战教程,帮助开发者快速上手PaddleDetection工具链,实现产业级目标检测项目,提升开发效率。

weixin_42701915的博客 185

73道数据结构和算法面试八股文(答案、分析和深入提问)整理

哈希表具有高效的查找、插入和删除操作,平均时间复杂度为 O(1),能动态处理数据,并且以键值对形式存储数据,方便表达数据间的关联。然而,它也存在一些缺点,例如会发生哈希冲突,解决冲突会增加额外开销,可能使操作时间复杂度升高;需要额外的空间来处理冲突和存储数据;其性能很大程度上依赖于哈希函数的设计,不合理的哈希函数会导致性能下降。在实际应用中,要权衡哈希表的优缺点,根据具体需求选择合适的数据结构。线性结构具有以下特点:元素之间存在一对一的线性关系,有且仅有一个开始节点和一个终端节点;

Lonelycity_zyz的博客 908

香橙派5玩转SATA SSD:一个被忽略的overlays配置项,让你的Ubuntu系统飞起来

本文详细介绍了如何在香橙派5上通过配置`overlays=ssd-sata`启用SATA SSD作为系统启动盘,大幅提升Ubuntu系统的性能。文章深入解析了设备树覆盖的工作原理,提供了完整的配置流程和性能优化建议,帮助开发者充分发挥香橙派5的硬件潜力。

weixin_30787531的博客 220

数据结构和算法整理

排序算法(从小到大排序数组) 冒泡排序 算法说明: 比较两个相邻的元素,如果第一个比第二个大,则交换两个元素的位置; 对每一对相邻的元素做同样的工作,从开始的第一对一致到结尾的最后一对,经过这一步,最后的元素将是最大值; 针对所有的元素重复以上步骤,除了最后一个; 持续对越来越少的元素重复以上步骤,直到没有元素需要交换为止; 评价时间复杂度O(N^2),因为是双重循环,是比较稳定的...

getCaiBlueGiant的博客 212

深度学习框架对比:AI开发如何选择

你是否遇到过这样的困惑:想做一个图像分类模型,朋友推荐PyTorch;公司要部署智能客服,同事说用TensorFlow;想快速验证想法,学长又提到Keras……深度学习框架种类繁多,功能重叠却各有侧重。本文将覆盖主流框架(PyTorch/TensorFlow/Keras/JAX/MXNet等),从开发者真实需求出发,总结选择框架的核心维度。本文将按照“认识框架→对比特性→实战选择”的逻辑展开:先通过生活比喻理解各框架特点,再用代码对比核心功能,最后结合真实场景给出选择建议。动态计算图。

AI 领航者的博客 1162

DAMMFND: Domain-Aware Multimodal Multi-view Fake News Detection

虚假新闻的泛滥不仅严重阻碍了互联网社交媒体的健康发展,还在政治、经济和社会层面造成了实际危害,凸显了自动化虚假新闻检测的重要性(Zhou 等,2015;Cui 等,2019;Zhu 等,2022a;Li 等,2024c,b,a)。现有的虚假新闻检测方法通常聚焦于特定领域的新闻,例如健康或政治领域。然而,在现实世界中,社交媒体上的新闻往往跨越多个领域,这就要求现有的虚假新闻检测方法必须考虑多域泛化(Nan 等,2021;Qi 等,2019;Zhu 等,2022b)。

qq_52053775的博客 338

数据结构和算法分析整理

@skiery 数据结构算法分析第二版 1.引论 递归四原则: 1.基准情形:必须有无需递归就能得到的基准情形(如x=0,x=1)等情形下,直接得到结果。 2.不读阿奴推进:每次递归调用都必须使求解状况朝接近基准情形的方向推进。 3.设计法则:所有情况下的递归调用都能运行。 4.合成效益法则:求解同问题的同一个实例时,切勿在不同的递归调用中做重复性工作。(故斐波那契数列不建议递归) 2.算法分析 ...

skiery的博客 345

OPC通信从入门到精通_1_OPC基础知识及简单C#程序编写(OPCDA,OPCUA简介;OPC通信数据流框架图;C#程序编写)

ModbusTCP通信是采用直接方式进行通信,用OPC的方式如何去做呢?PLC作为ModbusTCP服务器,用KepServer作为ModbusTCP客户端,同时作为OPC服务器,PC作为OPC客户端新建项目,加载dll库(利用COM技术写的)添加引用,查看到其中包含了众多方法其中OPCGroups继承于IOPCGroups接口。

分享学习成长历程,Winter is coming! 1万+

腾讯T4 费时7天整理算法和数据结构文档,既然不可避免,那就勇往

前言 选择计算机专业,进入大学之后,第一课除了高数这个变态的科目之外还有一个应该就是今天的重点:数据结构与算法了,在那个还是c语言为重点的时代,那时候算法的期末考试真的是噩梦啊 好不容易快毕业了,没想到啊,依旧逃离不了这个噩梦,想去一些比较好的公司的时候,第一步笔试手写算法,然后面试口述算法思想,我去(内心真的一阵波涛汹涌啊) 等到工作了,这玩意,相信大家应该知道,有一些真的用不到,但是没得办法,你还必须要学,整的好尴尬 那既然这个东西无法避免,想要更好的发展,必须使用的技术,那就只有没得办法去学习

Java架构师联盟 388

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

整理下字符串的一些数据结构和算法

别看字符串挺简单,还真牵扯到好多数据结构和算法啊,给跪了,要将所有的都好好掌握真心是一项艰难的任务。这里就列举下自己做zoj时候碰到过的一些,然后配合自己做过的例题讲一下。不过每种算法、数据结构具体的描述和代码,还请自己去搜索吧。 算法 KMP算法 字符串在普通项目中用得最多的必然是匹配和查询问题了,KMP算法通过O(M)的时间预处理短串,然后在O(N)的时间内搜索长串得到结果,

Steve Sun的专栏 763

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

2021最新Java面经整理 | 数据结构和算法篇

2021最新Java面经整理 | 数据结构和算法篇

编程者说的博客专栏 2042

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

数据结构和算法 以及leetcode整理

第一部分:线性表的学习001  线性表包括数组和链表两种,数组是采用连续的存储空间,数组具有随机存储的特性,什么是随机存储特性,也就是说num[i] 的时间复杂度是O(1),数组的缺点在于:在头部插入时 时间复杂度为O(n),头部删除时时间复杂度为O(n).插入删除的平均时间复杂度为O(n-1/2). 数组是连续的而存储空间,所以存储空间是固定的,遇到存储空间不足的时候需要扩充存储空间,比较

hufanglei007的博客 926

数据结构和算法知识整理

数据结构和算法知识整理 排序算法哪些是稳定排序? 快速排序、希尔排序、堆排序、直接选择排序不是稳定的排序算法。 基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。 几种排序的应用场景 若n较小(数据规模较小),插入排序或选择排序较好 若数据初始状态基本有序(正序),插入、冒泡或快速排序为宜 若n较大,则采用时间复杂度为O(nlogn)的排序方法:快速排序或堆排序 快速排...

you see see you 326

整理常见的数据结构和算法知识点

数据结构: 链表 数组 二叉树 树 堆(大顶堆、小顶堆) 栈 队列 向量 hash表 算法: 广度(深度)优先搜索 递归 二分法查找 排序 树的插入/删除/查找/遍历 图论 hash法 分治法 动态规划 其他: 位操作 设计模式 内存管理(堆栈) 《计算机程序设计艺术》好好好

pinglanyinjiu的博客 1458

数据结构和算法绪论笔记整理

程序设计 = 数据结构 + 算法数据结构:就是数据元素相互之间存在的一种或多种特定关系的集合(关系就是讲逻辑结构,集合就是将物理结构);        a.逻辑结构            集合:数据元素之间只有"同属于一个集合"的关系            线性结构:数据元素之间存在一个对一个的关系            树形结构:数据元素之间存在一个对多个关系            图形结构或网...

weixin_34355559的博客 150

数据结构与算法整理3——BP算法和KMP算法(C语言)

数据结构与算法整理3——BP算法和KMP算法 目录 数据结构与算法整理3——BP算法和KMP算法 1、字符串的基本操作 2、模式匹配——BP算法和KMP算法 3、串的操作代码(C语言) 1、字符串的基本操作 1)串的定义:字符串(也就是串)是0个或多个字符序列组成的有限序列。 串就是数据元素为单个字符的特殊线性表。 “qhjkdcbjsb”(隐含结束符\0)就是一个字符串,引号起...

weixin_40695088的博客 1266

数据结构与算法整理1——什么是数据和数据结构(C语言)

数据结构与算法整理1——什么是数据和数据结构? 目录 数据结构与算法整理1——什么是数据和数据结构? 1、概念:数据结构,存储结构,逻辑结构 1.1基本概念 1.2数据结构 1.3算法及其特性 1.3.1算法的定义 1.3.2时间复杂度 1、概念:数据结构,存储结构,逻辑结构 (注:磁盘文件管理系统是树状结构。) 1.1基本概念 (1)数据:指所有能够输入到计算机中...

weixin_40695088的博客 1009

数据结构和算法自学整理(一)什么是数据结构及稀疏数组

一 了解数据结构 1 数据结构是什么 数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。简而言之,数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合。“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。 2 数据结构和算法的关系 数据结构是算法的基础,算法可以脱离了数据结

shionagi的博客 260

数据结构和算法以及leetcode002 整理

第二章:栈和队列 今天要复习的内容是栈和队列,栈是一种常见的数据结构,栈的基本特征是先进后出,相当于大家一起排队走进死胡同。栈的实现可以是数组的形式,也可以是链表的形式,但是作为主要的数据结构C++中已经封装成了stack(因此作为主要的数据结构没有必要再去手动实现了),这里对C++中栈的主要成员函数进行总结;stack s{...};//通过列表初始化栈 s.empty();//判断栈是否为空

hufanglei007的博客 530
上一篇: 堆与堆排序
下一篇: linux crontab 的例子
arkblue
博客等级 码龄18年 188粉丝 254原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值