STL
第一视角丶
终身学习者
展开
-
c++ 二叉搜索树实现
1.什么是二叉搜索树?二叉搜索树是一种特殊的树形结构,他的每一个节点永远比他的左孩子大,且比右孩子小。他的中序遍历,是从小到大排列。2.他有什么特点:最左边的节点是整个数据结构中最小的数据,最右边为最大。 中序遍历为一个递增的排列 左右子树也为二叉搜索树 他的左右子树也为二叉搜索树3.代码#pragma once#include <iostream>...原创 2019-12-28 17:17:54 · 69 阅读 · 0 评论 -
c++ 实现优先级队列(模板)
1.特性及和队列的区别首先我们来看队列:队列是一种先进先出的数据结构,它是按照元素的入队时间顺序来出队的;而优先级队列是按照优先级来进行处理,即不是将队头元素出队,而是先将队列中优先级最高的元素出队,我们一般借助堆来选出优先级高的元素2.堆的简单描述堆是一种特殊的队列,从堆中取出元素不是按照入队顺序,而是按照元素优先级大小。堆是一颗完全二叉树,分为大堆和小堆,出对元素的值是队列中的最大...原创 2019-10-24 15:10:06 · 1332 阅读 · 0 评论 -
c++ vector 实现(简易版)
vector的简单介绍1.vector使STL为我们提供的一种可变大小的数组容器2.和数组一样,vector采用连续的空间来存储数据。这意味着它可以像数组一样采用下表的方式来访问元素,与数组一样高效,但他又优于数组,大小可动态分配,也可以自动改变自己的大小。3.vector使用动态分配数组来存储元素。当插入新元素时,且空间已满时,此时vector的做法是开辟一段新空间,将原数据拷贝到这...原创 2019-10-19 17:48:57 · 1906 阅读 · 2 评论 -
vector::cbegin()与vector::begin()的区别
cbegin在c++11中新增,与cend一组区别:1.用变量接受cbegin()的返回值时,变量的类型必须为const类型(且修饰指针指向的内容,其自身的值可以改变,但指向内容的值不允许改变,可用auto简化书写)2.只能进行遍历不能对vector中的元素进行修改...原创 2019-10-19 16:31:30 · 2651 阅读 · 0 评论 -
c++实现 模板list
1.list简介1.list是stl中的一种数据结构类型,stl为我们封装打包好。2.list可以在常熟范围内任意位置进行插入何删除操作的序列容器,并且可以在前后双向迭代。3.list的底层结构是双向链表结构,双向链表中的每个元素都存储在互不相关的独立节点中,在节点通过指针指向前一个和后一个元素4.list和forward_list非常相似:最主要的的在于forward只能向前迭代...原创 2019-10-17 18:40:18 · 413 阅读 · 0 评论