当前位置:文档之家› C++中find函数的用法

C++中find函数的用法

C++中find函数的用法
C++中find函数的用法

C++中的find函数

泛型算法的find:

在非string类型的容器里,可以直接找出所对应的元素.

find函数需要几个参数:迭代器,下标值,所要找的元素

vector a;

find(a.begin(),a.end(),1);

这句话就表示从a的头开始一直到尾,找到第一个值为1的元素,返回的是一个指向该元素的迭代器。

find在string容器中用途比较广:

find_first_of,find_last_of,find_not_first_of,find_not_last_of等等

在string类型中,需要的参数也有迭代器,下标和要找的字符串,这里要注意,是字符串,不能查找单个字符。

string a;

find(a.begin(),a.end(),"asd")

这句话就是说,在a中找到第一个存在子串与"asd"子串相等的字符串的首地址。返回指向该字符串首地址的迭代器。

find_last_of则是找到最后一个,

find_not_first_of是找出第一个不与“asd”相等的字符串的首地址

Excel表格中的一些基本函数使用方法

Excel表格中的一些基本函数使用方法 一、输入三个“=”,回车,得到一条双直线; 二、输入三个“~”,回车,得到一条波浪线; 三、输入三个“*”或“-”或“#”,回车,惊喜多多; 在单元格内输入=now()显示日期 在单元格内输入=CHOOSE(WEEKDAY(I3,2),"星期一","星期二","星期三","星期四","星期五","星期六","星期日") 显示星期几 Excel常用函数大全 1、ABS函数 函数名称:ABS 主要功能:求出相应数字的绝对值。 使用格式:ABS(number) 参数说明:number代表需要求绝对值的数值或引用的单元格。 应用举例:如果在B2单元格中输入公式:=ABS(A2),则在A2单元格中无论输入正数(如100)还是负数(如-100),B2中均显示出正数(如100)。 特别提醒:如果number参数不是数值,而是一些字符(如A等),则B2中返回错误值“#VALUE!”。 2、AND函数 函数名称:AND 主要功能:返回逻辑值:如果所有参数值均为逻辑“真(TRUE)”,则返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。

使用格式:AND(logical1,logical2, ...) 参数说明:Logical1,Logical2,Logical3……:表示待测试的条件值或表达式,最多这30个。 应用举例:在C5单元格输入公式:=AND(A5>=60,B5>=60),确认。如果C5中返回TRUE,说明A5和B5中的数值均大于等于60,如果返回FALSE,说明A5和B5中的数值至少有一个小于60。 特别提醒:如果指定的逻辑条件参数中包含非逻辑值时,则函数返回错误值“#VALUE!”或“#NAME”。 3、AVERAGE函数 函数名称:AVERAGE 主要功能:求出所有参数的算术平均值。 使用格式:AVERAGE(number1,number2,……) 参数说明:number1,number2,……:需要求平均值的数值或引用单元格(区域),参数不超过30个。 应用举例:在B8单元格中输入公式: =AVERAGE(B7:D7,F7:H7,7,8),确认后,即可求出B7至D7区域、F7至H7区域中的数值和7、8的平均值。 特别提醒:如果引用区域中包含“0”值单元格,则计算在内;如果引用区域中包含空白或字符单元格,则不计算在内。 4、COLUMN 函数 函数名称:COLUMN 主要功能:显示所引用单元格的列标号值。

STRING类函数用法总结3

C++中的string类 前言:string的角色 1string使用 1.1充分使用string操作符 1.2眼花缭乱的string find函数 1.3string insert,replace,erase2string和C风格字符串 3string和Charactor Traits 4string建议 5小结 6附录前言:string的角色 C++语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者C++,为什么?原因众多,其中之一就是C/C++的文本处理功能太麻烦,用起来很不方便。以前没有接触过其他语言时,每当别人这么说,我总是不屑一顾,认为他们根本就没有领会C++的精华,或者不太懂C++,现在我接触perl,php,和Shell脚本以后,开始理解了以前为什么有人说C++文本处理不方便了。 举例来说,如果文本格式是:用户名电话号码,文件名name.txt Tom23245332 Jenny22231231 Heny22183942 Tom23245332 ... 现在我们需要对用户名排序,且只输出不同的姓名。 那么在shell编程中,可以这样用: awk'{print$1}'name.txt|sort|uniq 简单吧? 如果使用C/C++就麻烦了,他需要做以下工作: 先打开文件,检测文件是否打开,如果失败,则退出。 声明一个足够大得二维字符数组或者一个字符指针数组 读入一行到字符空间 然后分析一行的结构,找到空格,存入字符数组中。 关闭文件 写一个排序函数,或者使用写一个比较函数,使用qsort排序 遍历数组,比较是否有相同的,如果有,则要删除,copy... 输出信息 你可以用C++或者C语言去实现这个流程。如果一个人的主要工作就是处理这种

Excel常用函数及使用方法

excel常用函数及使用方法 一、数字处理 (一)取绝对值:=ABS(数字) (二)数字取整:=INT(数字) (三)数字四舍五入:=ROUND(数字,小数位数) 二、判断公式 (一)把公式返回的错误值显示为空: 1、公式:C2=IFERROR(A2/B2,"") 2、说明:如果是错误值则显示为空,否则正常显示。 (二)IF的多条件判断 1、公式:C2=IF(AND(A2<500,B2="未到期"),"补款","") 2、说明:两个条件同时成立用AND,任一个成立用OR函数。 三、统计公式 (一)统计两表重复 1、公式:B2=COUNTIF(Sheet15!A:A,A2) 2、说明:如果返回值大于0说明在另一个表中存在,0则不存在。 (二)统计年龄在30~40之间的员工个数 公式=FREQUENCY(D2:D8,{40,29} (三)统计不重复的总人数 1、公式:C2=SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8)) 2、说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。

(四)按多条件统计平均值 =AVERAGEIFS(D:D,B:B,"财务",C:C,"大专") (五)中国式排名公式 =SUMPRODUCT(($D$4:$D$9>=D4)*(1/COUNTIF(D$4:D$9,D$4:D$9))) 四、求和公式 (一)隔列求和 1、公式:H3=SUMIF($A$2:$G$2,H$2,A3:G3) 或=SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3) 2、说明:如果标题行没有规则用第2个公式 (二)单条件求和 1、公式:F2=SUMIF(A:A,E2,C:C) 2、说明:SUMIF函数的基本用法 (三)单条件模糊求和 说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"*A*"就表示a前和后有任意多个字符,即包含A。 (四)多条求模糊求和 1、公式:=SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11) 2、说明:在sumifs中可以使用通配符* (五)多表相同位置求和 1、公式:=SUM(Sheet1:Sheet19!B2) 2、说明:在表中间删除或添加表后,公式结果会自动更新。

IF函数的使用方法及操作实例

IF函数的使用方法及操作实例 分步阅读 IF函数:假设条件性的函数,即执行真假值的判断,根据逻辑计算的真假值,返回不同的结果。EXCEL中IF函数的使用非常广泛,特别是在单条件判断的时候,用好 IF函数可以帮我们完成很多功能。现结合具体的实例操作,进行说明:方法/步骤 1.一、IF函数的基本应用。 if(logical_test,value_if_true,value_if_false) IF是条件判断函数:=IF(测试条件,结果1,结果2),即如果满足“测试条件” 则显示“结果1”,如果不满足“测试条件”则显示“结果2”。 例一: 图1中,成绩结果60分以上(含60分)为及格,60分以下为不及格。执行IF 函数如下: 在C2单元格中输入:=IF(B2>=60,“及格”,“不及格”),再把此单元格格式往下拉动,即可。 注意:“及格”,“不及格”的双引号,要在英文输入法情况下输入的引号(" )。 如下图1。

2.二、IF函数的复杂应用。IF 函数条件带复合运算。 例二:股票佣金计算。在股票交易中,经常要考虑成本,而佣金占很大的成本。 佣金怎么计算?佣金:佣金费率最高千分之三,最低5元,不足5元,按5元收取。现在佣金费率以千分之三,运用IF函数进行计算。 图2中,红色单元格为佣金值。佣金 = 成交金额 * 佣金费率0.003 。在红色单元格D7中输入:=IF(D4*B7>=5,D4*B7,5) 就会自动计算佣金费。图 2.1为大于或等于5元时的情况,图2.2为不足5元时的情况,仍会显示5。 如下图2 3. 3 三、IF函数高级嵌套应用。

例三:IF函数嵌套运用。某公司销售提成的计算,销售额大于80万元(含80万),提成按40%计算;销售额为80-60万(含60万),提成按30%计算;销售额小于60万,提成按20%计算。计算方法:在C2单元格输入:=IF(B2>=800000,B2*0.4,IF(AND(B2<800000,B2>=600000),B2*0.3,IF(B2<600000,B2*0.2))) 如下图3。 END 注意事项 IF函数的嵌套,有几层IF条件,后面就有几个反括号。嵌套最多不要超过7层。

sort和qsort函数对结构体的二级排序

qsort(基本快速排序的方法,每次把数组分成两部分和中间的一个划分值,而对于有多个重复值 的数组来说,基本快速排序的效率较低,且不稳定)。集成在C语言库函数里面的的qsort函数, 使用三路划分的方法解决排序这个问题。所谓三路划分,是指把数组划分成小于划分值,等于 划分值和大于划分值的三个部分。 具体介绍:-^^ void qsort( void *base, size_t num, size_t width, int (__cdecl *compare ) int compare (const void *elem1, const void *elem2 ) ); qsort(即,quicksort)主要根据你给的比较条件给一个快速排序,主要是通过指针移动实现排序 功能。排序之后的结果仍然放在原来数组中。 参数意义如下: 第一个参数 base 是需要排序的目标数组名(或者也可以理解成开始排序的地址,因为可以写 &s[i]这样的表达式) 第二个参数 num 是参与排序的目标数组元素个数 第三个参数 width 是单个元素的大小(或者目标数组中每一个元素长度),推荐使用sizeof(s[0]) 这样的表达式 第四个参数 compare 就是让很多人觉得非常困惑的比较函数啦。 我们来简单讨论compare这个比较函数(写成compare是我的个人喜好,你可以随便写成什么,比如 cmp 什么的,在后面我会一直用cmp做解释)。 典型的compare的定义是int compare(const void *a,const void *b); 返回值必须是int,两个参数的类型必须都是const void *,那个a,b是随便写的,个人喜好。假 设是对int排序的话,如果是升序,那么就是如果a比b大返回一个正值,小则负值,相等返回0,其他的依次类推,后面有例子来说明对不同的类型如何进行排序。

Excel常用函数的使用方法

1、ABS函数 函数名称:ABS 主要功能:求出相应数字的绝对值。 使用格式:ABS(number) 参数说明:number代表需要求绝对值的数值或引用的单元格。 应用举例:如果在B2单元格中输入公式:=ABS(A2),则在A2单元格中无论输入正数(如100)还是负数(如-100),B2中均显示出正数(如100)。 特别提醒:如果number参数不是数值,而是一些字符(如A等),则B2中返回错误值“#VALUE!”。 2、AND函数 函数名称:AND 主要功能:返回逻辑值:如果所有参数值均为逻辑“真(TRUE)”,则返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。 使用格式:AND(logical1,logical2, ...) 参数说明:Logical1,Logical2,Logical3……:表示待测试的条件值或表达式,最多这30个。 应用举例:在C5单元格输入公式:=AND(A5>=60,B5>=60),确认。如果C5中返回TRUE,说明A5和B5中的数值均大于等于60,如果返回FALSE,说明A5和B5中的数值至少有一个小于60。 特别提醒:如果指定的逻辑条件参数中包含非逻辑值时,则函数返回错误值“#VALUE!”或“#NAME”。 3、AVERAGE函数 函数名称:AVERAGE 主要功能:求出所有参数的算术平均值。 使用格式:AVERAGE(number1,number2,……) 参数说明:number1,number2,……:需要求平均值的数值或引用单元格(区域),参数不超过30个。

应用举例:在B8单元格中输入公式:=AVERAGE(B7:D7,F7:H7,7,8),确认后,即可求出B7至D7区域、F7至H7区域中的数值和7、8的平均值。 特别提醒:如果引用区域中包含“0”值单元格,则计算在内;如果引用区域中包含空白或字符单元格,则不计算在内。 4、COLUMN 函数 函数名称:COLUMN 主要功能:显示所引用单元格的列标号值。 使用格式:COLUMN(reference) 参数说明:reference为引用的单元格。 应用举例:在C11单元格中输入公式:=COLUMN(B11),确认后显示为2(即B列)。 特别提醒:如果在B11单元格中输入公式:=COLUMN(),也显示出2;与之相对应的还有一个返回行标号值的函数——ROW(reference)。 5、CONCATENATE函数 函数名称:CONCATENATE 主要功能:将多个字符文本或单元格中的数据连接在一起,显示在一个单元格中。 使用格式:CONCATENATE(Text1,Text……) 参数说明:Text1、Text2……为需要连接的字符文本或引用的单元格。 应用举例:在C14单元格中输入公式:=CONCATENATE(A14,"@",B14,".com"),确认后,即可将A14单元格中字符、@、B14单元格中的字符和.com连接成一个整体,显示在C14单元格中。 特别提醒:如果参数不是引用的单元格,且为文本格式的,请给参数加上英文状态下的双引号,如果将上述公式改为:=A14&"@"&B14&".com",也能达到相同的目的。 6、COUNTIF函数 函数名称:COUNTIF 主要功能:统计某个单元格区域中符合指定条件的单元格数目。 使用格式:COUNTIF(Range,Criteria) 参数说明:Range代表要统计的单元格区域;Criteria表示指定的条件表达式。

C语言标准库函数

标准库函数 本附录描述了标准C支持的库函数①。使用此附录时,请记住下列要点。 为了简洁清楚,这里删除了一些细节。如果想看全部内容,请参考标准。本书的其他地方已经对一些函数(特别是printf函数、scanf函数以及它们的变异函数)进行了详细介绍,所以这里 只对这类函数做简短的描述。为了获得关于某个函数更详细的信息(包括如何使用这个函数的示 例),请见函数描述右下角用楷体列出的节号。 每个函数描述结尾都有其他与之相关函数的列表。相似函数非常接近于正在描述的函数。相关函数经常会和在描述的函数联合使用。(例如,calloc函数和realloc函数与malloc函数“类似”, 而free函数则与malloc函数“相关”。)也可参见的函数和在描述的函数没有紧密联系,但是却 可能有影响。 如果把函数行为的某些方面描述为由实现定义的,那么这就意味着此函数依赖于C库的实现方式。 函数将始终行为一致,但是结果却可能会由于系统的不同而千差万别。(换句话说,请参考手册了 解可能发生的问题。)另一方面,未定义的行为是一个不好的消息:不但函数的行为可能会因系统 不同而不同,而且程序也可能会行为异常甚至崩溃。 中许多函数的描述提到了定义域错误和取值范围错误。在本附录的末尾对这两种错误进行了定义。 601 下列库函数的行为是会受到当前地区影响的: 字符处理函数(除了isdigit函数和isxdigit函数)。 格式化输入/输出函数。 多字节字符和字符串函数。 字符串转换函数。 Strcoll函数、strftime函数和strxfrm函数。 例如,isalpha函数实际上检测字符是否在a到z之间或者在A到Z之间。在某些区域内也把其他字符看成是字母次序的。本附录描述了在"C"(默认的)地区内库函数的行为。 一些函数实际上是宏。然而,这些宏的用法和函数完全一样,所以这里不对它们区别对待。 abort 异常终止程序 void abort(void); 产生SIGABRT信号。如果无法捕获信号(或者如果信号处理函数返回),那么程序会异常 终止,并且返回由实现定义的代码来说明不成功的终止。是否清洗输出缓冲区,是否关 闭打开的流,以及是否移除临时文件都是由实现定义的。 相似函数exit函数、raise函数 相关函数assert函数、signal函数 也可参见atexit函数 26.2节abs 整数的绝对值 int abs(int j); 返回整数j的绝对值。如果不能表示j的绝对值,那么函数的行为是未定义的。 ①这些材料经ANSI许可改编自American National Standards Institude ANSI/ISO 9899?1990。这个标准的副本可从 ANSI购买(ANSI, 11 West 42nd Street, New York, NY 10036)。

Linux find命令常见用法汇总

Linux find命令常见用法汇总 导读:Linux系统中查找文件的命令式find,find命令具有强大的功能,能够提供多种查找条件,下面小编就给大家带来Linux中find命令的常见用法汇总,一起来学习下吧。 ·find path -option [-print ][-exec -ok command ]{} \; find命令的参数; pathname:find命令所查找的目录路径。例如用。来表示当前目录,用/来表示系统根目录。 -print:find命令将匹配的文件输出到标准输出。 -exec:find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为‘command’ { } \;,注意{ }和\;之间的空格。 -ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 #-print 将查找到的文件输出到标准输出 #-exec command {} \; —–将查到的文件执行command操作,{} 和\;之间有空格 #-ok 和-exec相同,只不过在操作前要询用户 例:find 。-name .svn | xargs rm -rf ==================================================== -name filename #查找名为filename的文件 -perm #按执行权限来查找 -user username #按文件属主来查找

-group groupname #按组来查找 -mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前-atime -n +n #按文件访问时间来查GIN:0px“》 -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在 -nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存 -newer f1 !f2 找文件,-n指n天以内,+n指n天以前 -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在 -nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存 -newer f1 !f2 #查更改时间比f1新但比f2旧的文件 -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件 -size n[c]#查长度为n块[或n字节]的文件 -depth #使查找在进入子目录前先行查找完本目录 -fstype #查更改时间比f1新但比f2旧的文件 -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件 -size n[c]#查长度为n块[或n字节]的文件 -depth #使查找在进入子目录前先行查找完本目录 -fstype #查位于某一类型文件系统中的文件,这些文件系统类型通常可在/etc/fstab中找到 -mount #查文件时不跨越文件系统mount点 -follow #如果遇到符号链接文件,就跟踪链接所指的文件 -cpio %; #查位于某一类型文件系统中的文件,这些文件系统类型通常可在/etc/fstab中找到 -mount #查文件时不跨越文件系统mount点 -follow #如果遇到符号链接文件,就跟踪链接所指的文件 -cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中 -prune #忽略某个目录 ===================================================== $find ~ -name ”*.txt“ -print #在$HOME中查.txt文件并显示 $find 。-name ”*.txt“ -print $find 。-name ”[A-Z]*“ -print #查以大写字母开头的文件 $find /etc -name ”host*“ -print #查以host开头的文件 $find 。-name ”[a-z][a-z][0–9][0–9].txt“ -print #查以两个小写字母和两个数字开头的txt文件 $find 。-perm 755 -print $find 。-perm -007 -exec ls -l {} \; #查所有用户都可读写执行的文件同-perm 777 $find 。-type d -print $find 。!-type d -print $find 。-type l -print $find 。-size +1000000c -print #查长度大于1Mb的文件

EXCEL中常用函数及使用方法

EXCEL中常用函数及使用方法 Excel函数一共有11类:数据库函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户自定义函数。 1.数据库函数 当需要分析数据清单中的数值是否符合特定条件时,可以使用数据库工作表函数。例如,在一个包含销售信息的数据清单中,可以计算出所有销售数值大于1,000 且小于2,500 的行或记录的总数。Microsoft Excel 共有12 个工作表函数用于对存储在数据清单或数据库中的数据进行分析,这些函数的统一名称为Dfunctions,也称为D 函数,每个函数均有三个相同的参数:database、field 和criteria。这些参数指向数据库函数所使用的工作表区域。其中参数database 为工作表上包含数据清单的区域。参数field 为需要汇总的列的标志。参数criteria 为工作表上包含指定条件的区域。 2.日期与时间函数 通过日期与时间函数,可以在公式中分析和处理日期值和时间值。 3.工程函数 工程工作表函数用于工程分析。这类函数中的大多数可分为三种类型:对复数进行处理的函数、在不同的数字系统(如十进制系统、十六进制系统、八进制系统和二进制系统)间进行数值转换的函数、在不同的度量系统中进行数值转换的函数。 4.财务函数 财务函数可以进行一般的财务计算,如确定贷款的支付额、投资的未来值或净现值,以及债券或息票的价值。财务函数中常见的参数: 未来值(fv)--在所有付款发生后的投资或贷款的价值。 期间数(nper)--投资的总支付期间数。 付款(pmt)--对于一项投资或贷款的定期支付数额。 现值(pv)--在投资期初的投资或贷款的价值。例如,贷款的现值为所借入的本金数额。 利率(rate)--投资或贷款的利率或贴现率。 类型(type)--付款期间内进行支付的间隔,如在月初或月末。 5.信息函数 可以使用信息工作表函数确定存储在单元格中的数据的类型。信息函数包含一组称为IS 的工作表函数,在单元格满足条件时返回TRUE。例如,如果单元格包含一个偶数值,ISEVEN 工作表函数返回TRUE。如果需要确定某个单元格区域中是否存在空白单元格,可以使用COUNTBLANK 工作表函数对单元格区域中的空白单元格进行计数,或者使用ISBLANK 工作表函数确定区域中的某个单元格是否为空。 6.逻辑函数 使用逻辑函数可以进行真假值判断,或者进行复合检验。例如,可以使用IF 函数确定条件为真还是假,并由此返回不同的数值。

快速排序实验报告

快速排序实验报告 《程序设计实践》报告 学号江元 ; 姓名 090241111 ; 题目序号 2011年题目:排序7.1B类的第5题 ; 难度等级 B 一、题目 写出快速排序的非递归算法 二、问题分析及求解基本思路 问题分析: 快速排序是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。而在程序设计中虽然应用递归技术, 能够使得程序简洁易懂, 但是效率并不是最高的,因此可以利用栈结构实现非递归的快速排序。 求解基本思路: 将每次分治的两个序列的高位和低位入栈,每次都从栈中获取一对高位和低位,分别处理。处理过程是:选取高位作为基准位置,从低位开始向高位遍历,如果比基准元素小,那么和第i个交换,如果有交换,那么i++,等一遍遍历完成后,如果i的位置不等于基准位置,那么所选的基准位置的值不是最大的而这时候i的位置之前的元素都比基准值小,那么i的位置应该是基准值,将i所在位置的值和基准位置进行交换。这时候,在i的左右就将序列分成两部分了,一部分比i

所在位置值小,一部分比i所在位置值大的,然后再次将前面一部分和后面一部分的高位和低位分别入栈,再次选择基准位置,直到所选择的区间大小小于2,就可以不用入栈了。 三、问题求解的整体框架结构 输入要排序的元素开始的个数 依次输入要排序的 元素 借助定义的栈 Stack st 传入参数,调用非递 归实现的快速排序函调用函数partition 数qsort() 调用函数swap 非递归快速排序后输结束出排序后的元素顺序 四、主要算法 1(非递归快速排序算法qsrt( a, l , r ): 由partition(pData, low, high)返回了轴值,st.push(low); st.push(pivot - 1); st.push(pivot + 1); st.push(high); 循环执行下列语句直到栈为空 (1)high = st.top(); st.pop(); low = st.top(); st.pop(); (2)若满足low < high,调用 partition(pData, low, high)返回轴值; 定义tmp = pivot -1 若low < tmp,st.push(low); st.push(tmp); tmp = pivot + 1; 若tmp < high,st.push(tmp); st.push(high); 2(算法时间和空间复杂度:

find和xargs的组合用法

find和xargs的組合用法 一、find 命令格式 1、find命令的一般形式为; find pathname -options [-print -exec -ok ...] 2、find命令的参数; pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print:find命令将匹配的文件输出到标准输出。 -exec:find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。 -ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 3、find命令选项 -name 按照文件名查找文件。 -perm 按照文件权限来查找文件。 -prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find 命令忽略。 -user 按照文件属主来查找文件。 -group 按照文件所属的组来查找文件。 -mtime -n +n 按照文件的更改时间来查找文件,- n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n 天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。 -nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。 -nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。 -newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。 -type 查找某一类型的文件,诸如: b - 块设备文件。 d - 目录。 c - 字符设备文件。 p - 管道文件。 l - 符号链接文件。 f - 普通文件。 -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。

15个极好的Linux find命令示例

前阵子,我们审查了15件实事find命令的例子(第一部分)。查找命令可以做很多比只是在寻找基于名称的文件(第2部分)在这篇文章中,让我们来讨论15高级find命令的例子,包括-根据它访问,修改或改变的时间查找文件,查找文件相比之下,执行操作找到的文件等。 基于访问/修改/更改时间查找文件 你可以找到基于以下三个文件的时间属性的文件。 1.访问时间的文件。文件访问时,访问时间得到更新。 2.的文件的修改时间。文件内容修改时,修改时间得到更新。 3.更改文件的时间。更改时间时,被更新的inode数据的变化。 在下面的例子中,min选项之间的差异和时间选项是参数。 ?分论点将它的参数为分钟。例如,60分钟(1小时)= 60分钟。 ?时间参数,将它的参数为24小时。例如,时间2 = 2 * 24小时(2天)。 ?虽然这样做的24个小时计算,小数部分都将被忽略,所以25小时为24小时,和47小时取为24小时,仅48小时为48小时。要获得更清晰的参考atime的部分find 命令的手册页。 例1:找到在1个小时内被更改的文件 想要通过文件修改时间找出文件,可以使用参数-mmin -mtime。下面是man手册中有关mmin和mtime的定义。 ?-mmin n文件最后一次修改是在n分钟之内 ?-mtime n文件最后一次修改是在n*24小时之内(译者注:也就是n天了呗)执行下面例子中的命令,将会找到当前目录以及其子目录下,最近一次修改时间在1个小时(60分钟)之内的文件或目录 1 # find . -mmin -60

同样的方式,执行下面例子中的命令,将会找到24小时(1天)内修改了的文件(文件系统根目录/ 下) 1 # find / -mtime -1 例2:找到1个小时内被访问过的文件 想要通过文件访问时间找出文件,可以使用参数-amin -atime。下面是man手册中有关amin和atime的定义。 ?-amin n文件最后一次访问是在n分钟之内 ?-atime n文件最后一次访问是在n*24小时之内 执行下面例子中的命令,将会找到当前目录以及其子目录下,最近一次访问时间在1个小时(60分钟)之内的文件或目录 1 # find . -amin -60 同样的方式,执行下面例子中的命令,将会找到24小时(1天)内被访问了的文件(文件系统根目录/ 下) 1 # find / -atime -1 例3:查找一个小时内状态被改变的文件 (译者注:这里的改变更第1个例子的更改文件内容时间是不同概念,这里是更改的是文件inode的数据,比如文件的权限,所属人等等信息) 要查找文件的inode的更改时间,使用-cmin和-ctime选项 ?-cmin n文件的状态在n分钟内被改变 ?-ctime n文件状态在n*24小时内(也就是n天内)被改变 (译者注:如果上面的n为-n形式,则表示n分钟/天之内,n为+n则表示n分钟/天之前) 下面的例子在当前目录和其子目录下面查找一个小时内文件状态改变的文件(也就是60分钟内): 1 # find . -cmin -60 同样的道理,下面的例子在根目录/及其子目录下一天内(24小时内)文件状态被改变的文件列表: 1 # find / -ctime -1 例4:搜索仅仅限定于文件,不显示文件夹

Excel中函数的使用方法

各函数使用方法大全 Excel函数使用方法 1、ABS函数 主要功能:求出相应数字的绝对值。 使用格式:ABS(number) 参数说明:number代表需要求绝对值的数值或引用的单元格。 应用举例:如果在B2单元格中输入公式:=ABS(A2),则在A2单元格中无论输入正数(如100)还是负数(如-100),B2中均显示出正数(如100)。 特别提醒:如果number参数不是数值,而是一些字符(如A等),则B2中返回错误值“#VALUE!”。 2、AND函数 主要功能:返回逻辑值:如果所有参数值均为逻辑“真(TRUE)”,则返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。 使用格式:AND(logical1,logical2, ...) 参数说明:Logical1,Logical2,Logical3……:表示待测试的条件值或表达式,最多这30个。 应用举例:在C5单元格输入公式:=AND(A5>=60,B5>=60),确认。如果C5中返回TRUE,说明A5和B5中的数值均大于等于60,如果返回FALSE,说明A5和B5中的数值至少有一个小于60。 特别提醒:如果指定的逻辑条件参数中包含非逻辑值时,则函数返回错误值“#VALUE!”或“#NAME”。 3、AVERAGE函数 主要功能:求出所有参数的算术平均值。 使用格式:AVERAGE(number1,number2,……) 参数说明:number1,number2,……:需要求平均值的数值或引用单元格(区域),参数不超过30个。 应用举例:在B8单元格中输入公式:=AVERAGE(B7:D7,F7:H7,7,8),确认后,即可求出B7至D7区域、F7至H7区域中的数值和7、8的平均值。 特别提醒:如果引用区域中包含“0”值单元格,则计算在内;如果引用区域中包含空白或字符单元格,则不计算在内。 4、COLUMN 函数 主要功能:显示所引用单元格的列标号值。 使用格式:COLUMN(reference) 参数说明:reference为引用的单元格。

qsort函数的用法

六类qsort排序方法 以下是其具体分类及用法(若无具体说明是以降序排列): 1、对一维数组排序: (Element_type是一位数组中存放的数据类型,可以是char, int, float, double, etc )使用qsort之前,必须自己定义一个比较函数。这个比较函数用于比较两个元素的大小。由于qsort可以排序任意数据类型,包括自定义的结构类型,因此,做一个自定义的比较函数是必要的。 int Comp(const void *p1,const void *p2 ) { return *((Element_type *)p2) > *((Element_type *)p1) ? 1 : -1;} int main() { Element_type list[MAX]; initial(list); qsort(list, sizeof(list),sizeof(Element_type),Comp); // qsort的4个参数:数组的首地址、数组的实际大小,元素的实际大小,比较函数 return 0;} 2、对字符串排序: int Comp(const void *p1,const void *p2) { return strcmp((char *)p2,(char *)p1); } int main() { char a[MAX1][MAX2]; initial(a); qsort(a,lenth,sizeof(a[0]),Comp); //lenth 为数组a的长度 3、按结构体中某个关键字排序(对结构体一级排序):

struct Node { double data; int other; }s[100]; int Comp(const void *p1,const void *p2) { return (*(Node *)p2)->data > (*(Node *)p1)->data ? 1 : -1; } qsort(s,100,sizeof(s[0]),Comp); 4、按结构体中多个关键字排序(对结构体多级排序)[以二级为例]:struct Node { int x; int y; }s[100]; //按照x从小到大排序,当x相等时按y从大到小排序 int Comp(const void *p1,const void *p2) { struct Node *c = (Node *)p1; struct Node *d = (Node *)p2; if(c->x != d->x) return c->x-d->x; else return d->y - c->y; }

FIND命令大全

Linux Find命令精通指南 作者:Sheryl Calish 简单介绍这一无处不在的命令的强大的方面以及混乱的方面。 2008年7月发布 Linux find命令是所有Linux命令中最有用的一个,同时也是最混乱的一个。它很难,因为它的语法与其他Linux命令的标准语法不同。但是,它很强大,因为它允许您按文件名、文件类型、用户甚至是时间戳查找文件。使用find命令,您不但可以找到具这些属性任意组合的文件,还可以对它找到的文件执行操作。 本文的目的是,通过概述find命令的用途和潜能,简化该命令的学习和使用。同时,它将针对find命令的某些最强大但最混乱的方面提供一个基本的指南和参考。 [注意:本文使用的find版本是GNU版本,因此,某些细节可能与其他版本的find有所不同。] 基本格式 开始之前,我们先来看一下find命令的基本结构: find start_directory test options criteria_to_match action_to_perform_on_results 在以下命令中,find将开始在当前目录(用“.”表示)中查找任何扩展名为“java”的文件:find.-name"*.java" 下面是该命令所找到的命令的缩略清单: find.-name"*.java" ./REGEXPvalidate/src/oracle/otnsamples/plsql/ConnectionManager.java ./REGEXPvalidate/src/oracle/otnsamples/plsql/DBManager.java .. [注意:如果您从本文剪切并粘贴来运行该find命令,您可能需要使用自己的键盘替换双引号(“”)才能得出正确的结果。] 以下命令将执行相同的操作。在这两种情况下,您都需要对通配符进行转义以确保它传递到find命令并且不由shell解释。因此,请将您的搜索字符串放到引号里,或者在它前面加上反斜线:

Excel常用函数使用方法

Excel常用函数公式总结 1、ABS函数 主要功能:求出相应数字的绝对值。 使用格式:ABS(number) 参数说明:number代表需要求绝对值的数值或引用的单元格。 应用举例:如果在B2单元格中输入公式:=ABS(A2),则在A2单元格中无论输入正数(如100)还是负数(如-100),B2中均显示出正数(如100)。 特别提醒:如果number参数不是数值,而是一些字符(如A等),则B2中返回错误值“#VALUE!”。 2、AND函数 主要功能:返回逻辑值:如果所有参数值均为逻辑“真(TRUE)”,则返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。 使用格式:AND(logical1,logical2, ...) 参数说明:Logical1,Logical2,Logical3……:表示待测试的条件值或表达式,最多这30个。 应用举例:在C5单元格输入公式:=AND(A5>=60,B5>=60),确认。如果C5中返回TRUE,说明A5和B5中的数值均大于等于60,如果返回FALSE,说明A5和B5中的数值至少有一个小于60。 特别提醒:如果指定的逻辑条件参数中包含非逻辑值时,则函数返回错误值“#VALUE!”或“#NAME”。 3、AVERAGE函数 主要功能:求出所有参数的算术平均值。 使用格式:AVERAGE(number1,number2,……) 参数说明:number1,number2,……:需要求平均值的数值或引用单元格(区域),参数不超过30个。 应用举例:在B8单元格中输入公式:=AVERAGE(B7:D7,F7:H7,7,8),确认后,即可求出B7至D7区域、F7至H7区域中的数值和7、8的平均值。 特别提醒:如果引用区域中包含“0”值单元格,则计算在内;如果引用区域中包含空白或字符单元格,则不计算在内。 4、COLUMN 函数 主要功能:显示所引用单元格的列标号值。 使用格式:COLUMN(reference) 参数说明:reference为引用的单元格。 应用举例:在C11单元格中输入公式:=COLUMN(B11),确认后显示为2(即B列)。 特别提醒:如果在B11单元格中输入公式:=COLUMN(),也显示出2;与之相对应的还有一个返回行标号值的函数——ROW(reference)。 5、CONCATENATE函数 主要功能:将多个字符文本或单元格中的数据连接在一起,显示在一个单元格中。 使用格式:CONCATENATE(Text1,Text……) 参数说明:Text1、Text2……为需要连接的字符文本或引用的单元格。 应用举例:在C14单元格中输入公式:=CONCATENATE(A14,"@",B14,".com"),确认后,即可将A14单元格中字符、@、B14单元格中的字符和.com连接成一个整体,显示在C14单元格中。 特别提醒:如果参数不是引用的单元格,且为文本格式的,请给参数加上英文状态下的双引号,如果将上述公式改为:=A14&"@"&B14&".com",也能达到相同的目的。 6、COUNTIF函数 主要功能:统计某个单元格区域中符合指定条件的单元格数目。 使用格式:COUNTIF(Range,Criteria) 参数说明:Range代表要统计的单元格区域;Criteria表示指定的条件表达式。 应用举例:在C17单元格中输入公式:=COUNTIF(B1:B13,">=80"),确认后,即可统计出B1至B13单元格区域中,数值大于等于80的单元格数目。 特别提醒:允许引用的单元格区域中有空白单元格出现。 10、DCOUNT函数 主要功能:返回数据库或列表的列中满足指定条件并且包含数字的单元格数目。

相关主题
文本预览
相关文档 最新文档