一、基本用法 类模板是用来生成类的蓝图,声明的方法都和函数模板类似: [crayon-662f0151ecb10674074204/] (更多…)
C++中函数模板的用法
模板是C++中一个重要的部分,也是泛型编程的基础,一个模板就是一个创建类或函数的蓝图,使用它在很多时候都能给我们带来巨大的便利。 一、函数模板 定义一个函数模板的语法为: [crayon-662f01...
C++中两个类互相包含的问题
问题引出 C++中两个类互相包含是无法通过编译的: [crayon-662f0151ee11b275065312/] (更多…)
C++构造函数初始化列表和普通初始化的区别
0x01 介绍 C++类中有两种方式可以用来初始化成员变量,一种最常见的是在构造函数内部直接对成员函数赋值: [crayon-662f0151eeb3c851876879/] 另外一种方式就是通过构造...
排序算法三:冒泡排序
一、原理 冒泡排序的原理很简单, 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。 冒泡排序是一种稳定的排序算法。 冒泡排序不管在什...
排序算法二:选择排序
一、原理 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找...
排序算法一:插入排序
一、原理 从排序序列的第二个元素开始,依次往前面查询,知道找到一个合适的位置就把它插进去。每个元素在交换完成之后[0, n]都是一个有序序列,它的时间复杂度为O(n^2)。 排序逻辑: [crayon...
排序算法六:快速排序
一、原理 选择排序的原理是分治,把排序序列切分成若干个小组后分别排序。每次排序都以随机的一个元素作为哨兵(一般都以排序区间的中间元素或者首元素作为哨兵),比他大的元素都放到右边,比它小的都放到左边。然...
python生成随机数的方法
一、概述 python可以通过random包来产生随机数或者执行一些随机操作。 1. random.seed() 给定一个数据作为随机数种子,和大多数语言一样,python也可以使用时间来作为随机数种...
python中函数值的传递方式
0x01 传递非引用对象 对于普通的变量,python函数的值传递过程和大多语言一样都是传递参数的副本,函数体内修改参数值不会对外部传参生效: [crayon-662f0151f2fc62714065...
22