logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

STL常用容器及使用总结

上述介绍的八种关联容器可以分为两类集合(set)和映射(map)。其中set的无序版本是unordered_set,键值可重复版本是multset,无序且键值可重复版本是unordered_multset。map的无序版本是unordered_map,键值可重复版本是multmap,无序且键值可重复版本是unordered_multmap。

文章图片
#c++
C++实现排序算法

一、冒泡排序上浮法 :从数组末尾开始,连续比较相邻两个元素,使其符合排序。比较一个循环后,处于数组前排的元素最先符合(最大 or 最小),不再参与下一个循环的比较。下沉法:从数组开头开始,连续比较相邻两个元素,使其符合排序。比较一个循环后,处于数组后排的元素最先符合(最大 or 最小),不再参与下一个循环的比较。冒泡法最优时间复杂度可以达到O(n),最差可以达到O(n^2)【注】如果上一次循环已经

#排序算法#算法#c++
完全二叉树、搜索二叉树、平衡二叉树和满二叉树(C++)

完全二叉树是这样定义的:若二叉树的深度为 h,除第 h 层外,其它各层的结点数都达到最大个数,第 h 层所有的叶子结点都连续集中在最左边,这就是完全二叉树。(第 h 层可能包含 [1~2h] 个节点)上面的定义看起来比较复杂。所有节点只存在3种情况:1、有左右2个孩子;2、只有左孩子;3、没有孩子(叶节点),即不存在只有右孩子的情况;我们采用层序遍历的方式遍历节点,当遍历到某一个节点,它只有左孩子

文章图片
#算法#c++#数据结构
设计模式-观察者模式 C++

一、简介观察者模式属于行为型模式。意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。二、建立和使用观察者模式1、建立观察者组件首先,我们有一个被观察的对象A,和观察对象A的观察者对象B、C、D。则我们需要1)、声明一个抽象观察者类,类中声明观察者响应

#c++#观察者模式
到底了