//队列的使用
#include<queue>
//在BFS中会使用到队列
//优先队列
priority_queue<元素类型> Q;
Q.push(); // 压入元素
Q.pop; // 弹出
Q.front(); // 取顶元素
Q.empty(); // 判断是否为空
// 优先队列中默认的是大的先出
// 若要使小的先出,则可在元素类型struct中重载 “<”
struct node{
friend bool operator < (node n1, node n2)
{
return n1.Step > n2.Step;
// 小的先出
}
int Step;
};
// 优先队列 取顶时应使用 Q.top();
//链表的使用
#include<list>
list<int> lis;
list<int>::iterator iter; // 跌代器 (指针)
list.push_back(); // 在链表尾插入元素
//操作表中的每个元素时,必须要使用指针
// *iter 即为 iter 所指的元素的值
for(iter = lis.begin(); iter != lis.end(); iter ++)
{
iter = lis.erase(iter);
// 删除表中一位置的元素
// 若删除指定位置,第 i 个,可用 i 记数
}
// lis.insert() 插入在当前指针所指的元素之前
//容器 vector 的使用
#include<vector>
vector<int> v;
v.push_back(); // 在尾部插入元素
v.size(); // 返回容器的大小
v.clear(); // 清除容器的元素
v.resize(); //分配表的大小
//若使用vector 来表示二维,则可
vector<vector<int> > v(n);
//或者
vector<vector<int> > v;
v.resize(n);
// 可以表示有 n 行的二维数组
// 对于每一维 , v[i] 的操作与 v 一致
// 传 vector 的使用
void pp(vector<vector<int> > &vv)
{
// 传vector 的函数使用
int i ,j;
for(i = 0 ; i < vv.size(); i ++)
{
for(j = 0 ; j < vv[i].size(); j ++)
printf("%d ",vv[i][j]);
printf("\n");
}
}
void main()
{
int i,j;
vector<vector<int > > a(10);
for(i = 0 ; i < 10 ; i++)
for(j = 0 ; j < i;j ++)
a[i].push_back(j);
pp(a);
// 调用函数
}
// C++ 自带的排序 sort
#include<algorithm>
//头文件
bool cmp(int a, int b){
return a > b;
} // 使得降序排列
//默认为升序 sort(a,a + n);
sort(A, A+n,cmp);
//也可对结构体排序,比较函数自己实现
// 要对容器中的元素排序
// 可使用跌代器
// 把容器中起始与结束的指针传给 sort
// example
vector<int> v;
vector<int> ::iterator it1;
vector<int> ::iterator it2;
it1 = v.begin();
it2 = v.end();
sort(it1, it2 ,cmp);
// string
// 使用起来相对比较多 , 主要在处理字符串的时候
#include<string>
string s1 , s2 , s3;
// string 类的赋值
// 即可以 相互之间,也可以把字符串直接赋给 string 类
// example
char ss[] = “abcd”;
s1 = “”; // string 类初始为空
s1 = ss ; // 把字符串直接赋给string
s2 = s1; // sgring 之间赋值
// string 类可以直接使用 + 来进行字符串的拼接
s1 = “ab”;
s2 = “cd”;
s3 = s1 + s2;
// 操作的结果 s3 == “abcd”;
// 常用的函数
s1.size(); // 字符串的大小,既长度
// 对于已经赋值的字符串,可以直接对下表进行操作
// 可以使用查找函数
s1.find(s2) ; // 在s1 中查找 s2 ,如果存在,返回起始下表,否则返回 -1
s1.substr(起始位置,长度); //取子串
posted on 2009-02-10 18:42
混沌的云 阅读(537)
评论(2) 编辑 收藏 引用