- 博客(16)
- 资源 (11)
- 收藏
- 关注
原创 first_searcher
#include#include using namespace std; int main(int argc , char **argv){ if(argc cout " } try{ Xapian::Databasedatabase(argv[1]); Xapian::Enquireenquire(
2014-02-27 21:13:50 575
原创 first_indexer
#include#include using namespace std; int main(int argc , char **argv){ if(argc cout " exit(1); } try{ Xapian::WritableDatabasedatabase(argv[1],Xapian
2014-02-27 21:10:33 413
原创 STL4- 关联容器
元素是按关键字来保存和访问的。一.1.pair:保存两个数据成员分别为first和second。Map的元素就是pair。2.p.first:返回first数据成员 p.second:返回second数据成员。 make_pari(v1,v2):返回一个pair二.1.map中的元素是一些关键字-值对,关键字起到索引作用,值则表示与索引相关的数据。Map通常称为关
2014-02-24 23:08:25 675
原创 STL3-容器适配器
三个顺序容器适配器:stack,queue,priority_queue.一.Pop()删除栈顶元素,但是不返回其。Push(item)入栈Top()返回栈顶元素,但是不将其删除。二.Pop():返回首元素,但是不删除其。Front(),back():返回首元素或尾元素,但是不删除其。Push():在尾部插入元素。
2014-02-24 23:07:36 633
原创 STL2- 顺序容器
操作:1. swap(c1,c2)或c1.swap(c2):交换c1和c2中元素,c1和c2类型必须相同,它比c2向c1拷贝元素快得多。2. seq.assign(b,e)将seq中的元素替换为迭代器b和e表示范围内的元素。seq.assign(n,t)将seq中的元素替换为n个t。assign操作不适合关联容器和array。3. c.push_back(t),c.emplace_ba
2014-02-24 23:06:25 709
原创 STL1
STL:标准模板库。STL可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adaptors)、算法(algorithms)、仿函数(functors)六个部分。在C++标准中,STL被组织为下面的13个头文件:algorithm>、deque>、functional>、iterator>、array>、vector
2014-02-24 23:05:02 506
原创 队列c++实现
#include#includeusing namespace std;#define size 10class Queue{public:Queue();void ruQueue(int n);void chuQueue();void show();private:int front;int end;int number
2014-02-22 20:35:40 586
原创 栈c++实现
#includeusing namespace std;class Stack{public:Stack(){top = -1;}void push(int n){if(!isfull())data[++top] = n;elsecout}void pop(){if(!isempty()){couttop--;}els
2014-02-22 15:39:50 438
原创 链表c++实现
#include // #define NULL 0class Node //节点类{public: Node(){} Node(int n){ num=n; next=NULL; } Node(int n, Node *p){ num=n; next=p;} void setNum(int n) {num =n;} void setNext(Nod
2014-02-22 15:35:00 507
原创 gcc与g++
gcc和g++都是GNU(一个组织)的编译器。1、对于.c后缀的文件,gcc把它当做是C程序;g++当做是C++程序;2、对于.cpp后缀的文件,gcc和g++都会当做c++程序。3、编译阶段,g++会调用gcc,对于c++代码,两者是等价的;4、连接阶段,通常会用g++来完成,这是因为gcc命令不能自动和c++程序使用的库连接。 gcc可以用来编译c++但是它不会自动调用链接
2014-02-21 23:19:08 820
原创 函数
1. 函数的返回类型不能是数组类型或者函数类型,但可以是指向数组或函数的指针。2. 局部静态对象static.3. 指针形参4. 传引用参数:可以改变实参的值。若无须改变引用形参的值,声明为常量引用。5. 形参的顶层const被忽略掉。void fun(const int i)与void fun(int i)是一样的。6. 尽量使用常量引用。int
2014-02-15 16:48:46 433
原创 关键字
1. extern:声明变量而非定义它,不显示的初始化变量。extern int a;//声明a而非定义a.int b;//声明并定义b.extern语句如果包含初始值就不是声明而变成定义了。 extern double pi = 3.14;//定义变量能且只能被定义一次,可以被声明多次。2. nullptr:空指针int *p1 = nullptr;
2014-02-14 20:46:52 460
原创 数组
1. 数组的大小明确不变,不能随意向数组中增加元素。在编译时维度必须已知,维度必须是一个常量表达式。2. 定义数组时不能使用auto,不存在引用的数组。3. 用字符串字面值初始化字符数组时,注意字符串字面值的结尾处有一个空字符’\0’。char a1[] =”C++”;//自动添加空字符4. 不允许将数组的内容拷贝给其他数组作为初始值。int a1 = {1
2014-02-14 20:44:54 434
原创 迭代器
1. 迭代器:访问string对象的字符或vector对象的元素。2. auto b = v.begin(); auto c= v.end()3. vector::iterator it; string::iterator it;vector::const_iterator it; string::const_iterator itauto it = v
2014-02-14 20:44:01 440
原创 vector
1. vector表示对象的集合,vector是类模板。不存在包含引用的vector。#inclueusing std::vector;2. 如果循环体内包含有vector对象添加元素的语句,则不能使用范围for循环。范围for语句体内不应该改变其遍历序列的大小。3. size()函数返回类型为:vector ::size_type4. 添加元素push_bac
2014-02-14 20:43:03 496
原创 string
1. 标准库类型string表示可变长度的字符序列#includeusing namespace string;2. size()函数返回的是string::size_type类型,无符号值。3. 确保每个加号两侧的运算对象至少有一个是string4. cctype头文件中的函数5. for范围语句操作string6. 下标操作str
2014-02-14 20:41:49 380
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人