首页 > 编程语言 >算法文章中涉及的若干基础类的主要API

算法文章中涉及的若干基础类的主要API

时间:2024-03-22 10:56:31浏览次数:28  
标签:const int double 算法 API static bool Array 若干

本文记述了笔者所写算法文章中涉及的若干基础类的主要 API(部分参考 算法 : 第4版 / (美) 塞奇威客 (Sedgewick, R.) , (美) 韦恩 (Wayne, K.) 著 ; 谢路云译. -- 北京 : 人民邮电出版社, 2012.10 (2021.5重印) 实现,包括顺序存储结构、基础类的包装类、随机数、标准输入输出等。

◆ Array<_T>

简单的顺序存储容器(参考

函数 说明
Array(int = 0) 按指定大小构建
Array(initializer_list<_T>) 按初始化列表构建
Array(Array const&) 拷贝构造
Array(Array &&) 移动构造
~Array() 析构
operator=(Array const&) 拷贝赋值
operator=(Array &&) 移动赋值
int size() 容量大小
_T & operator[] 下标访问
_T * begin() 支持基于范围的循环
_T * end() 支持基于范围的循环
...

◆ Comparable<_T>

实现了此接口的类实例可用于基于比较的操作,如排序。

函数 说明
int compare_to(_T const&) 按照指定值构造

◆ Boolean

bool 类型的包装类, 实现 Comparable<> 接口

函数 说明
Boolean(bool = false) 按照指定值构造
bool value() 基础类型值
int compare_to(Boolean const&) 与另一个 Boolean 实例相比
friend bool operator==(Boolean const&, Boolean const&) 支持 == 操作
friend bool operator!=(Boolean const&, Boolean const&) 支持 != 操作
...

◆ Character

char 类型的包装类, 实现 Comparable<> 接口

函数 说明
Character(char = ' ') 按照指定值构造
char value() 基础类型值
int compare_to(Character const&) 与另一个 Character 实例相比
friend bool operator==(Character const&, Character const&) 支持 == 操作
friend bool operator!=(Character const&, Character const&) 支持 != 操作
...

◆ Double

double 类型的包装类, 实现 Comparable<> 接口

函数 说明
Double(double = 0.0) 按照指定值构造
double value() 基础类型值
int compare_to(Double const&) 与另一个 Double 实例相比
friend bool operator==(Double const&, Double const&) 支持 == 操作
friend bool operator!=(Double const&, Double const&) 支持 != 操作
...

◆ Integer

int 类型的包装类, 实现 Comparable<> 接口

函数 说明
Integer(int = 0) 按照指定值构造
int value() 基础类型值
int compare_to(Integer const&) 与另一个 Integer 实例相比
friend bool operator==(Integer const&, Integer const&) 支持 == 操作
friend bool operator!=(Integer const&, Integer const&) 支持 != 操作
...

◆ Long

long 类型的包装类, 实现 Comparable<> 接口

函数 说明
Long(long = 0L) 按照指定值构造
long value() 基础类型值
int compare_to(Long const&) 与另一个 Long 实例相比
friend bool operator==(Long const&, Long const&) 支持 == 操作
friend bool operator!=(Long const&, Long const&) 支持 != 操作
...

◆ Std_In

从标准输入中读出数据的函数库

函数 说明
static bool is_empty() 标准输入中是否还有内容
static int read_int() 从标准输入中读出一个 int 类型数据
static Array<int> read_ints() 把标准输入中的剩余内容都作为 int 类型数据读到一个 Array 中
static double read_double() 从标准输入中读出一个 double 类型数据
static Array<double> read_doubles() 把标准输入中的剩余内容都作为 double 类型数据读到一个 Array 中
static string read_string() 从标准输入中读出一个 string 类型数据
static Array<string> read_strings() 把标准输入中的剩余内容都作为 string 类型数据读到一个 Array 中
static string read_line() 从标准输入中读出一行中剩余的内容
static string read_all() 把标准输入中的剩余内容都读出到一个 string 类型数据中
...

◆ Std_Out

向标准输出中写入数据的函数库

函数 说明
static void printf(char const*, ...) 可变参数的格式化输出
static void println() 输出换行
template <class _T> static void print(_T const&) 输出某个类型的数据
template <class _T> static void println<_T>(_T const&) 换行输出某个类型的数据
...

◆ Std_Random

随机数的函数库

函数 说明
static void set_seed(long) 设置随机生成器的种子
static double random() [0, 1) 之间的随机实数
static int uniform(int N) [0, N) 之间的随机整数
static long uniform(long N) [0, N) 之间的随机长整数
static double uniform(double lo, double hi) [lo, hi) 之间的随机实数
static int uniform(int lo, int hi) [lo, hi) 之间的随机整数
static long uniform(long lo, long hi) [lo, hi) 之间的随机长整数
static bool bernoulli(double = 0.5) 伯努利分布,true 的概率 p 默认为 0.5
static double gaussian(double m = 0.0, double s = 1.0) 正态分布,期望值 m 默认为 0,标准差 s 默认为 1
static int poisson(double m = 0.5) 泊松分布,μ 分布参数默认为 0.5
static int geometric(double p = 0.5) 几何分布,p 分布参数默认为 0.5
static int discrete(Array<double> const& a) 离散分布,以 a[i] 的概率返回 i
template <class _T> static void shuffle(Array<_T> & a) 随机打乱数组
...

◆ Stopwatch

计时器

函数 说明
Stopwatch() 启动计时
double elapsed_time() 自启动计时以来经过的时间,单位秒

标签:const,int,double,算法,API,static,bool,Array,若干
From: https://www.cnblogs.com/green-cnblogs/p/18088952

相关文章

  • 代码随想录算法训练营第十七天| 110. 平衡二叉树 257. 二叉树的所有路径 404. 左叶
    110.平衡二叉树https://leetcode.cn/problems/balanced-binary-tree/description/publicbooleanisBalanced(TreeNoderoot){intbalance=balance(root);returnbalance==-1?false:true;}publicintbalance(TreeNodenode){i......
  • 新能源汽车充电桩站点烟火AI识别检测算法应用方案
    新能源汽车作为现代科技与环保理念的完美结合,其普及和应用本应带给人们更加便捷和绿色的出行体验。然而,近年来新能源汽车充电火灾事故的频发,无疑给这一领域投下了巨大的阴影。这不禁让人深思,为何这一先进的交通工具在充电过程中会引发火灾事故。从技术层面来看,新能源汽车的充电系......
  • TSINGSEE青犀AI智能分析网关V4的人员摔倒检测算法及应用
    人员摔倒检测AI算法是一种基于计算机视觉和机器学习的技术,它通过对视频或图像中的人员运动进行分析,自动检测并识别出摔倒事件。该算法采用了多种技术手段,包括深度学习、目标跟踪、姿态估计等,以实现高效、准确的摔倒检测。今天我们来介绍下TSINGSEE青犀AI智能分析网关V4的人员摔倒......
  • 雪花算法生成分布式序列号
    packageio.binghe.seckill.infrastructure.utils.id;importjava.util.Date;publicclassSnowFlake{/***起始的时间戳:2023-04-1913:42:00,使用时此值不可修改*/privatefinalstaticlongSTART_STMP=1681882920782L;/***每一部分......
  • 2024.3.21算法
    关于c语言中sin/cos的用法若想输出30度的sin30------写法sin(303.1415926/180)对此控制输出用printf("%.2f",)即可保留两位小数*reverse函数使用时需要加#include注意!!!!reverse翻转string时,reverse(str.begin(),str.end());*map自定义对key键排序,由小到大----但是map不可以......
  • 雪花算法工厂
    packageio.binghe.seckill.infrastructure.utils.id;importjava.util.concurrent.ConcurrentHashMap;importjava.util.concurrent.ConcurrentMap;publicclassSnowFlakeFactory{ /** *默认数据中心id */ privatestaticfinallongDEFAULT_DATACENTER_ID=......
  • .Net MinimalApis响应返回值
    前言文本主要讲MinimalApis中的使用自定义IResultModel和系统自带IResult做响应返回值。MinimalApis支持以下类型的返回值:string-这包括Task<string>和ValueTask<string>T(任何其他类型)-这包括Task<T>和ValueTask<T>基于IResult-这包括Task<IResult>和......
  • 备战蓝桥杯Day28 - 贪心算法
    一、贪心算法贪心算法(GreedyAlgorithm)是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。贪心算法在有最优子结构的问题中尤为有效。最优子结构指的是问题的最优解可以由子问题的最优解有效地构造出来。贪心算法与动......
  • 数据结构与算法基础知识
    数据结构与算法1算法的基本概念算法:是指一组有穷的指令集,是解题方案的准确而完整的描述。也不等于计算方法。算法的基本特征:确定性,算法中的每一步骤都必须有明确的定义,不允许有多义性;有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止;可行性,算法原则上能够精......
  • 代码随想录算法训练营第五十三天| ● 1143.最长公共子序列 ● 1035.不相交的线 ●
    最长公共子序列 题目链接:1143.最长公共子序列-力扣(LeetCode)思路:。classSolution{public:intlongestCommonSubsequence(stringtext1,stringtext2){vector<vector<int>>dp(text1.size()+1,vector<int>(text2.size()+1,0));for(inti......