`
文章列表
线性结构中的顺序表有三种,向量,栈和队列 栈和队列在很多数据结构的书中都有论述到。 唯独向量这一种顺序表很少现在记录下vector的用法 先来C++,有关Vector类 vector 抽象容器类型之一(还有list和deque等),与其他几种容器类型不同的是它高效支持随机访问其中的元素。 使用vector,首先必须调用头文件(#include) 它的声明和初始化是这样的 vector <类型名> 变量名 vector vi = ( 10 , 1 ) 初始化为10个元素的vector,每个元素都为1 push_back()的用法是将元素插入vector容器的最尾部举个例子 ve ...

STL中容器的比较

在STL中基本容器有string vector list deque set map set 和map都是无序的保存元素只能通过它提供的接口对里面的元素进行访问 set 集合, 用来判断某一个元素是不是在一个组里面使用的比较少 map 映射相当于字典把一个值映射成另一个 ...
1. STL有6种序列容器类型 (1)vector 它提供对元素的随即访问,在尾部添加和删除元素的时间是固定的,在头部或中部插入和删除元素的复杂度为线性时间。 (2)deque 在文件中声明。 是双端队列,支持随即访问。从deque的开 ...
      在你选择构件时按住shift键再点击构件,就可连续地在程序中画出构件,不用时就点击构件栏的箭头标记即可取消。当你画构件时,按住Alt键可精确地画出你所需要的大小,同样,按住Alt键然后移动构件可精确地移动了。       在代码框中,按住ctrl健并点击函数,就可以看到这个函数的定义方法(一般情况下)。高级些的就是查找法:把这个API的函数名复制下来,然后用查找文件的方法,查找包含这个API名字的*.pas文件(就是在查找的“包含文字”中粘贴上函数名),如果Delphi5声明了的话,肯定在某个pas文件中,否则的话,就是没有声明了,必须自己声明这个API。        要进行多 ...
假设有三个自然数A,B,C,关系是A+B=C。A与B的关系是B是A去掉一位后组成的新数(除去掉数字外,其他数字先后顺序不变)。 现在已知C,求A,这种算法题该怎么解? 例子:如果C等于34,那么A有三种情况,27,31,32 function IsPartOf(A, B: Integer): Boolean; var   S, T: String;   i : Integer; begin    Result := False;   S := IntToStr(A);   T := IntToStr(B);   for i := 1 to Length(S) do    be ...
看到了很有一些很有意思的例子,拿出来分享一下 所有的一切源于一个实验,在ORA数据库下 create table t (a int ,b int); insert into t values(2,3); select 1 from t; 结果:  title: 1         value: 1 select 0 from t; 结果:  title: 0         value: 0     在表a中多插入几行,比如,又插入3行,值随便取,再使用select 1/0 查询,返回的title还是一样,value多了3行,值还是那样,select 1则值为1,select 0则值为0 ...
char *GetToken(char *sOrg,char *sSplt) { char *str1,*str2; static char str[255]; str1=strstr(sOrg,sSplt); if (str1==NULL) { strcpy(str,sOrg); sOrg[0]='\0'; } else { sOrg[str1-sOrg]='\0'; strcpy(str,sOrg); ...

Decode函数用法

decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN     RETURN(翻译值1) ELSIF 条件=值2 THEN     RETURN(翻译值2)     ...... ELSIF 条件=值n THEN     RETURN(翻译值n) ELSE     RETURN(缺省值) END IF decode(字段或字段的运算,值1,值2,值3)        这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3 当然值1,值2,值3也可以是表达式,这个函数 ...
(1)      选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表. (2)      WHERE子句中的连接顺序.: ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤 ...
1、执子之手,方知子丑,泪流满面,子不走我走。 2、西游记告诉我们:凡是有后台的妖怪都被接走了,凡是没后台的都被一棒子打死了。 3、你有什么不开心的事?说出来让大家开心一下。 4、我那么喜欢你,你喜欢我一下会死 ...
    今天看后台服务代码时,在PC文件中总是发现TPSVCINFO这个结构体 查了一下发现是Tuxedo定义的。其成员如下所示 struct TPSVCINFO{ char name[32]; //Name of service invoked. long flags; //Transaction and reply status. char *data; //The contents of the inpubuffer. long len; //The length of the ...
1、oracle使用伪列rownum select *, rownum from hsr_report r where r.rownum between 1 and 10; 2、mysql使用关键字limit select * from hsr_report r limit 1,10;     这里有个问题,limit的格式是limit offset,length,当偏移量大于一定的值(比如10000)时mysql执行的效率会明显降低,比如 select * from hsr_report r limit 10000,100; 此时一个比较好的提高效率的解决方案是使用子查询 select * ...
上次把本本换了一个,再装ue的时候发现没有delphi的语法高亮(歧视) 翻出以前看过的资料,找到了,贴上来分享分享 不过自从有了cnpack后一般都直接在delphi里写了 用UE是想缅怀一下当初在上边写C和C++的感觉 /L14这个要看你的ue中有多少项语法了,不要把已经有的给覆盖了,14这个值要合理取 /L14"Delphi" Nocase Line Comment = // Block Comment On = { Block Comment On Alt = (* Block Comment Off = } Block Comment Off Alt = *) ...
    版本是Delphi6,连接数据库ORACLE,使用ADOConnection,ADOQuery     情况是这样的,我写的一个小软件中有个MEMO控件是供用户输入SQL语句的,输入的SQL语句直接提交到ADOQuery控件的SQL中然后提交     在测试的时候,我写了一条 ...
{从字符串中提取单词的函数} procedure StrToWordList(str: string; var List: TStringList); var   p: PChar;   i: Integer; begin   if List = nil then List := TStringList.Create;   List.Clear;   {去除重复}   List.Sorted := True;   List.Duplicates := dupIgnore;     p := PChar(str);   {把单词以外的字符转为空格, 并把大写字母转小写}   while p^ ...
Global site tag (gtag.js) - Google Analytics