算法技巧常用工具
李歘歘
某不知名学院毕业生、非知名厂打工人
展开
-
Go语言slice切片的append方法
append 函数向 slice 尾部添加数据,返回新的 slice 对象:package mainimport "fmt"func main() { s := []int{1,2} s = append(s,3) fmt.Println(s) //[1 2 3]}append 函数也可以在头部插入数据:package mainimport "fmt"func main() { s := []int{1,2} s = append([]int{3},s...原创 2021-01-18 12:32:40 · 1403 阅读 · 0 评论 -
C/C++字符串和数字的相互转换
平时有可能会用到将int的1转换为string的"1"的题型,下面对C/C++字符串和数字的相互转换进行整理:int、long 和 double 等类型,有时也需要转换为字符串形式,这样结果字符串才能立即输出到文件或其他输入输出设备,或者存入内存中的某个字符串对象,供以后使用。1.字符串类型数字转字符串:to_string()函数是C++ 11 提供了若干 to_string...原创 2019-11-16 15:37:34 · 4032 阅读 · 0 评论 -
算法题集
算法水题:OpenJ_Bailian - 2810 完美立方OpenJ_Bailian - 2700 字符替换OpenJ_Bailian - 2796 数字求和OpenJ_Bailian - 2676 整数的个数OpenJ_Bailian - 2886 能被3除尽的数之和OpenJ_Bailian - 3659 判断是否为C语言的合法标识符OpenJ_Bailian -...原创 2019-11-03 15:38:40 · 2327 阅读 · 1 评论 -
进制转换
C/C++库函数(strtol()/itoa())进制转换:https://blog.csdn.net/qq_42410605/article/details/101927277OpenJ_Bailian - 2710 B - 数制转换:https://blog.csdn.net/qq_42410605/article/details/101908808进制转换:https:/...原创 2019-10-07 12:29:18 · 1352 阅读 · 1 评论 -
字符串详解合集
string的常用用法详解:https://blog.csdn.net/qq_42410605/article/details/100517335gets()和puts():https://blog.csdn.net/qq_42410605/article/details/98734084getchar()和putchar():https://blog.csdn.net/qq_...原创 2019-10-05 20:59:07 · 1489 阅读 · 2 评论 -
排序算法整理
选择排序:选择排序插入排序:插入排序冒泡排序:冒泡排序归并排序:归并排序快速排序:快速排序原创 2019-10-05 20:42:50 · 1218 阅读 · 0 评论 -
C语言变量类型及其表示范围
一般来说,基本数据类型分为整型、浮点型、字符型,C++中又包括布尔型。每种类型里面又可以分为若干种类型(为了方便记忆,只列出常用的)。如下列出了四种基本数据类型。四种基本数据类型 类型 取值范围 大致范围 整型 int -2147483648~+2147483648 (即-2^31~+(2^31-1)) ...原创 2019-10-25 11:27:33 · 12188 阅读 · 0 评论 -
algorithm头文件下的常用函数之count()和count_if()
1.count()函数作用:count()用来统计元素出现的次数:count(first,last,value); first是容器的首迭代器,last是容器的末迭代器,value是询问的元素,可以使用在容器,数组,字符串中,用于统计元素出现的次数。(1)vector:程序代码:#include<cstdio>#include<vector>#incl...原创 2019-10-23 10:09:37 · 2549 阅读 · 0 评论 -
C/C++库函数(isalpha)判断字符是否为字母
使用isalpha函数可以判断字符是否为字母,属于ctype.h头文件;但也包含在iostream头文件下;使用如下:程序代码:#include<cstdio> #include<cstring>#include<cctype>const int maxn = 210;int main(){ char str[maxn]; while(ge...原创 2019-10-11 19:47:01 · 5326 阅读 · 0 评论 -
C/C++库函数(strtol()/itoa())进制转换
1.strtol()函数:作用:它的功能是将一个任意1-36进制数转化为10进制数,返回是long int型。 long int strtol(const char *str, char **endptr, int base);把参数 str 所指向的字符串根据给定的 base 转换为一个长整数(类型为 long int 型),base 必须介于 2 和 36(包含)之间,或者是...原创 2019-10-02 17:53:56 · 9378 阅读 · 2 评论 -
C/C++库函数(isdigit)判断字符是否为数字
使用isdigit函数可以判断字符是否为数字,属于ctype.h头文件;但也包含在iostream头文件下;使用如下:输出一个字符串(wo1A2i3X4)中的数字:程序代码:#include<cstdio> #include<ctype.h>int main(){ char a[] = "wo1A2i3X4"; int i=0; while(a[i]...原创 2019-10-02 16:51:04 · 5166 阅读 · 0 评论 -
C/C++库函数(tolower/toupper)实现大小写字母之间的转换
使用tolower/toupper函数可以实现字母之间的的转换,他们属于ctype.h头文件;但也包含在iostream头文件下;使用如下:1.toupper()函数:程序代码:#include<cstdio> #include <ctype.h>int main(){ char a[] = "woAiX"; for(int i=0;i<5;i+...原创 2019-10-02 16:32:55 · 3749 阅读 · 0 评论 -
pair的常见用法详解
pair是一个很实用的“小玩意”,当想要将两个元素绑在一起作为一个合成元素、又不想要因此定义结构体时,使用pir可以很方便地作为一个代替品。要使用pair,应先添加头文件#include <utility>,并在头文件下面加上“ using namespace std;"。注意:由于map的内部实现中涉及pair,因此添加map头文件时会自动添加utiliy头文件,此时如果...原创 2019-09-04 21:38:20 · 8386 阅读 · 0 评论 -
stack的常见用法详解
stack翻译为栈,是STL中实现的一个后进先出的容器。要使用 stack,应先添加头文件include<stack>,并在头文件下面加上“ using namespacestd;"1. stack的定义其定义的写法和其他STL容器相同, typename可以任意基本数据类型或容器:stack<typename> name;2. stack容器内元素的访问...原创 2019-09-04 20:50:53 · 43937 阅读 · 7 评论 -
priority_queue的常见用法详解
priority_queue又称为优先队列,其底层是用堆来进行实现的。在优先队列中,队首元素一定是当前队列中优先级最高的那一个。例如在队列有如下元素,且定义好了优先级:桃子(优先级3)梨子(优先级4)苹果(优先级1)那么出队的顺序为梨子(4)→桃子(3)→苹果(1)。当然,可以在任何时候往优先队列里面加入(push)元素,而优先队列底层的数据结构堆(heap)会随时调整结...原创 2019-09-04 19:47:21 · 21510 阅读 · 4 评论 -
queue的常见用法详解
queue翻译为队列,是一个先进先出的容器,要使用queue,应先添加头文件#include<queue>,并在头文件下面加上“using namespace std;”。1.queue的定义:定义的写法和其他STL容器相同, typename可以是任意基本数据类型或容器:queue<typename> name;2. queue容器内元素的访问:...原创 2019-09-04 13:41:44 · 25011 阅读 · 2 评论 -
map的常用用法详解
map翻译为映射,也是常用的STL容器。众所周知,在定义数组时(如 int array[l00])其实是定义了一个从int型到int型的映射,比如array[0]=25、array[4]=36就分别是将0映射到25、将4映射到36。一个 double型数组则是将int型映射到double型,例如db[0]=3.14,db[1]=0.01。但是,无论是什么类型,它总是将int型映射到其他类型。这...原创 2019-09-04 10:45:16 · 3190 阅读 · 0 评论 -
string的常用用法详解
一般我们在C语言中用到字符串,都是使用字符数组来存放,但是操作字符数组有时候会不便,所以为了方便操作,在C++的STL中加入了字符串类型(string)。想要复习以往字符数组的相关知识点请点击以下链接:字符串的输入输出字符串操作字符串的sscanf和sprintf(选看)如果要使用 string,需要添加 string头文件,即# include<string> ...原创 2019-09-03 15:31:33 · 15566 阅读 · 2 评论 -
set的常见用法详解
在一些问题中经常需要用到set,set的最主要作用是自动去重按升序排序。set翻译为集合,是一个内部自动有序且不含重复元素的容器。在出现需要去掉重复元素的情况,而且有可能因这些元素比较大或者类型不是int型而不能直接开散列表,在这种情况下就可以用set来保留元素本身而不考虑它的个数。当然,上面说的情况也可以通过再开一个数组进行下标和元素的对应来解决,但是set提供了更为直观的接口,并且加入se...原创 2019-09-03 13:18:46 · 11862 阅读 · 3 评论 -
vector常用解法及详解
vector的常见用途:(1)储存数据① vector本身可以作为数组使用,而且在一些元素个数不确定的场合可以很好地节省空间。②有些场合需要根据一些条件把部分数据输出在同一行,数据中间用空格隔开。由于输出数据的个数是不确定的,为了更方便地处理最后一个满足条件的数据后面不输出额外的空格,可以先用 vector记录所有需要输出的数据,然后一次性输出。(2)用邻接表存储图...原创 2019-09-03 10:04:22 · 4164 阅读 · 8 评论