find函数

cscope的用法

拜拜、爱过 提交于 2020-02-15 06:22:39
一,一般源文件中生成索引文件 为了方便使用,编写了下面的脚本来更新cscope和ctags的索引文件: #!/bin/shfind . -name "*.h" -o -name "*.c" -o -name "*.cc" > cscope.filescscope -bkq -i cscope.filesctags -R 这个命令会生成三个文件:cscope.out, cscope.in.out, cscope.po.out。 其中cscope.out是基本的符号索引,后两个文件是使用"-q"选项生成的,可以加快cscope的索引速度。 这个脚本,首先使用find命令,查找当前目录及子目录中所有后缀名为".h", ".c"和".c"的文件,并把查找结果重定向到文件cscope.files中。然后cscope根据cscope.files中的所有文件,生成符号索引文件。最后一条命令使用ctags命令,生成一个tags文件,在vim中执行":help tags"命令查询它的用法。它可以和cscope一起使用。上面所用到的命令参数,含义如下: -R : 在生成索引文件时,搜索子目录树中的代码 -b : 只生成索引文件,不进入cscope的界面 -q : 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度 -k: 在生成索引文件时,不搜索/usr

string中substr,find函数使用

巧了我就是萌 提交于 2020-02-13 04:59:11
2.string函数 find:某子串的起始位(0开始),函数的第二个参数使用代表从该位开始的后缀 substr:1) x开始的连续y位 2) x开始的后缀 #include<bits/stdc++.h> using namespace std; int main(){ string s1="abcdef"; string s2="de"; //find //返回位置 0起点 int ans=s1.find(s2); cout<<ans<<"\n"; //substr 1 //x位开始的连续y位 cout<<s1.substr(0,3)<<"\n"; //substr 2 //x开始的后缀 cout<<s1.substr(1)<<"\n"; return 0; } string::npos 常数,作用类似于EOF,可以表示find函数未找到 getline(cin.a)输入一整行 tolower,toupper是string单个字符转换的函数 e.g:luogu 1308 统计单词数 #include<bits/stdc++.h> using namespace std; string a,b; int main(){ getline(cin,a); getline(cin,b); for(int i=0;i<a.length();i++) a[i]=tolower(a[i]);

Python小课题练习作业

让人想犯罪 __ 提交于 2020-02-05 06:08:41
作业一 : 利用*字典*输出目录,可以选择目录进入,可以回退、退出! #conding:utf8menu = {'北京':{'昌平':{'沙河':{'昌平妇幼',}},'海淀':{'海淀一区':{'海淀二区'},}},} #字典嵌套current_layer = menu #利用此变量来记录当前的层的位置pre_menu = [] #用【】来记录每一层while True: for k in current_layer: print (k) choice = input('>>>>>>>:').strip() #去除输入选项连边的空格 if len(choice) == 0: #通过len的长度来判断用户是否输入了 continue if choice in current_layer: pre_menu.append(current_layer) current_layer = current_layer[choice] elif choice == 'b': if len(pre_menu) > 0: #通过大于0 来判断,还有目录可退 current_layer = pre_menu.pop() #利用pop来弹出上面的一层。 elif choice == 'q': exit() 作业二 list的小练习:实现购物车功能 product_list = [['iphone'

Go 系列教程 —— 12. 可变参数函数

China☆狼群 提交于 2020-02-04 20:33:36
什么是可变参数函数 可变参数函数是一种参数个数可变的函数 语法 如果函数最后一个参数被记作 ...T ,这时函数可以接受任意个 T 类型参数作为最后一个参数。 请注意只有函数的最后一个参数才允许是可变的。 通过一些例子理解可变参数函数如何工作 你是否曾经想过 append 函数是如何将任意个参数值加入到切片中的。这样 append 函数可以接受不同数量的参数。 func append(slice []Type, elems ...Type) []Type 上面是 append 函数的定义。在定义中 elems 是可变参数。这样 append 函数可以接受可变化的参数。 让我们创建一个我们自己的可变参数函数。我们将写一段简单的程序,在输入的整数列表里查找某个整数是否存在。 package main import ( "fmt" ) func find(num int, nums ...int) { fmt.Printf("type of nums is %T\n", nums) found := false for i, v := range nums { if v == num { fmt.Println(num, "found at index", i, "in", nums) found = true } } if !found { fmt.Println(num, "not

python中的find函数

限于喜欢 提交于 2020-02-04 13:21:48
str.find() #用于查找子串在大串中的位置 例如: “abcd”.find(“c”) 返回的是2 “abcdec”.find(“c”)返回的也是2,即第一个出现c的位置 “abcdec”.find(“c”,4)返回的是5,后面的参数4表示从第4个位置开始查找 那如果想要查找字符串“abcdec”中所有的"c"呢? s="abcdec" s_list=list(s) count=0 n=len(s) for i in range(n): count += 1 if s[i]=='c': print(s[i],count-1) >>> ==================== RESTART: C:/Users/op/Desktop/find.py =================== c 2 c 5 >>> 来源: CSDN 作者: 是我的SCI们 链接: https://blog.csdn.net/mcovo/article/details/104166404

常用的库函数

时光毁灭记忆、已成空白 提交于 2020-02-02 07:08:35
①find()函数 1.通用std::find 函数 std::find函数的确有很好的通用性,但是也有很大的缺点,就是算法的效率不高,算法的复杂度为O(n)。 2.特定容器的find 函数 当数据量是百万或者千万级的时候,std::find的O(n)算法就让程序感到销魂了。 这时候我们可以考虑使用map或者set的算法。是的,这里的find,是map和set的一个成员函数,map和set中的find算法是用红黑树来实现的。黑红树有良好的最坏情况运行时间,算法复杂度为O(logn)。 ②string中常用的函数 字符串函数应用在有一年的天梯赛某题中有很大的作用 估值一亿的AI核心代码 ③ isdight()、isalpha()、isalnum() isdight():判断一个字符是否为数字 isalpha():判断一个字符是否为字母 isalnum():判断一个字符是否为数字或字母 来源: CSDN 作者: RenWeitao 链接: https://blog.csdn.net/RenWeitao/article/details/104134473

C++学习笔记,粗糙原代码

柔情痞子 提交于 2020-02-01 10:15:21
C++学习笔记,粗糙原代码 第一次写博客,后面慢慢完善吧,现在先记录一下学习的代码。 目前在按照Essential C++这本书学习,觉得讲的还是不错的,适合小白。我目前学到了第三章第六小节,希望寒假能把这本书学完吧(我看后面东西挺多的) 这是第三章前五节 # include <iostream> # include <vector> # include <string> # include <list> # include <iterator> # include <deque> # include <algorithm> # include <functional> using namespace std ; template < typename IteratorType , typename elemType > IteratorType find ( IteratorType & first , IteratorType & last , const elemType & value ) ; //find函数的声明 int main ( ) { //这一段只是简单的测试泛型指针iterator //vector<string>svec; //vector<string>::iterator iter = svec.begin(); //string sa[4] = {

python中的find()函数以及replace()函数

帅比萌擦擦* 提交于 2020-01-31 02:09:26
最近在学习python过程中,对print()打印输出函数进行了进一步学习,在此过程中,参考借鉴了《编程小白的第1本python入门书》,(侯爵著)一书的部分内容,同时也在python的菜鸟教程中借鉴了诸多,这确实是一个非常好的网站,大家初学编程语言的同学可以到此网站去看看。网站地址https://www.runoob.com replace()函数 replace()格式: str.replace(old,new[,max]) old–将被替换的字符串 new–新字符串,用于替换old字符串 max–被替换的次数,替换不超过max次 我们经常会遇到这么一个情景。在一些网站上使用一些手机号、证件号等一些信息注册时,为了避免信息泄露,通常这些信息会被自动遮挡后四位,即用“*”替代遮挡所需遮挡的信息。我们可以通过replace()函数实现这个功能。 phone_number="168-6868-1234" hiding_number=phone_number.replace(phone_number[9:],"*"*4) print(hiding_number) #程序运行结果 168-6868-**** 我们通过下面一个例子可以看一看replace()函数第三个参数的作用。 str="only when you try you best to do sth can you make

MATLAB 常用函数 size()Zeros() ones() inf() ceil()等取整函数 randperm() find() sum() cumsum()

左心房为你撑大大i 提交于 2020-01-30 01:52:08
1.size():获取矩阵的行数和列数 1、s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素是矩阵的行数,第二个元素是矩阵的列数。 2、[r,c]=size(A),当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c。 3、size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的时矩阵A的行数, c=size(A,2) 该语句返回的时矩阵A的列数。 ———————————————— CSDN博主「幸福在路上wellbeing」 https://blog.csdn.net/xingfuyusheng/article/details/88674860 2.Zeros用法 zeros函数——生成零矩阵 A=zeros(2,3) zeros zeros A = 0 0 0 0 0 0 B=zeros(3) B = 0 0 0 0 0 0 0 0 0 源于百度百科 3.ones ones函数——生成全1阵 4.inf inf为无穷大量+∞,-inf为无穷小量-∞ 比如1 / 0的结果就是inf 5.ceil等取整函数 ceil函数的作用是朝正无穷方向取整,即将m/n的结果向正无穷方向取整,如m/n=3.12

STL find函数

核能气质少年 提交于 2020-01-22 10:19:25
本博客是转载其他大佬的文章,觉得他写的很好所以转载。侵权删除 1、 find()函数的调用形式为 find(start,end,value) start搜寻的起点,end搜寻的终点,要寻找的value值   容器的表示方法:find(a.begin(),a.end(),value) 数组的表示方法:find(a,a+length,value) 所有的返回,均是迭代器(容器)或指针(数组),而非是直观感觉上的索引下标。如果在查找范围内不存在,返回a.end(),这里需要注意的是,a.end()不在查找范围内。 2. vector没有实现find函数,除此之外,常见容器都实现了自己的find函数。 这个案例是洛谷p1540 #include<iostream> #include<algorithm> #include<vector> using namespace std; int main() { int m,n,t,cnt=0; cin>>m>>n; vector<int> v; while(cin>>t) { if(find(v.begin() , v.end()) , t) == v.end()) { v.push_back(t); cnt++; } if(v.size()>m) v.erase(v.begin()); } cout<<cnt; return 0; }