STL容器的基本操作
文章平均质量分 50
C__Monkey
这个作者很懒,什么都没留下…
展开
-
map容器创建、元素插入和前向遍历访问
#include #include #include using namespace std;int main(){map m;m["Jack"] = 98.5;m["Bomi"] =96.0;m["Kate"] = 97.5;//前向遍历元素map::iterator it;for (it=m.begin(); it != m.en原创 2012-10-17 07:39:08 · 569 阅读 · 0 评论 -
把输入的整数或者实数数据当成字符串来处理,方便
#include #include #include using namespace std;int main(){string s;s="123456789";int sum =0;for (size_t i=0; i != s.length() ; ++i){if(s[i]=='1')sum+=1;if(s[i]=='2')原创 2012-10-17 07:49:33 · 467 阅读 · 0 评论 -
容器元素的删除erase,size,clear方法的使用
#include #include using namespace std;int main(){vector v;for(size_t i=0; i !=10 ; ++i){v.push_back(i);}for (vector::iterator it =v.begin(); it != v.end(); ++it){co原创 2012-10-17 07:50:48 · 606 阅读 · 0 评论 -
双向链表容器list的头尾中,全部删除
#include #include using namespace std;int main(){list l;for (size_t i=1; i {l.push_back(i);}list::iterator it;for(it=l.begin(); it != l.end(); ++it){cout }cout原创 2012-10-17 07:51:53 · 432 阅读 · 0 评论 -
用vector向量容器装入10个整数,使用迭代器iterator和accumulate算法统计这10个元素的和
#include #include #include using namespace std;int main(){vector v;int n;for (vector::size_type i=0; i {cin >> n;v.push_back(n);}for(vector::iterator index原创 2012-10-17 07:53:14 · 1147 阅读 · 0 评论 -
multimap对象创建、元素插入
#pragma warning(disable:4786)#include #include #include using namespace std;int main(){multimap m;//插入元素m.insert(pair("Jack",300.5));m.insert(pair("KIty",200));m.insert(p原创 2012-10-17 07:39:42 · 539 阅读 · 0 评论 -
set容器元素的插入和中序遍历,反向遍历,反向迭代器reverse_iterator和rbegin(),rend();
#include #include using namespace std;int main(){set s;s.insert(1);s.insert(12);s.insert(6);s.insert(8);//没用//中序遍历集合中的所有元素set::iterator it;for (it=s.begin(); it !=原创 2012-10-17 07:41:09 · 1838 阅读 · 0 评论 -
string对象的insert,replace,earse,变成空串的方法
#include #include using namespace std;int main(){string s;s = "abcdedf";//插入string::iterator it;s.insert(s.begin(),'1');cout cout cout //替换,从第三个位置,连续4个位置,替换fans.replace原创 2012-10-17 07:44:59 · 909 阅读 · 0 评论 -
双向链表容器list的头部、尾部、中间的插入
#include #include using namespace std;int main(){list l;//从尾部插入for (size_t i=1; i != 6; ++i){l.push_back(i);}list::iterator it;for(it=l.begin(); it != l.end(); ++it){原创 2012-10-17 07:51:27 · 640 阅读 · 0 评论 -
用map实现数字分离
#pragma warning(disable:4786)#include #include #include using namespace std;int main(){map m;m['0'] = 0;m['1'] = 1;m['2'] = 2;m['3'] = 3;m['4'] = 4;m['5'] = 5;m['6'] =原创 2012-10-17 07:52:43 · 428 阅读 · 0 评论 -
string对象追加可用加号或者用append追加
#include #include using namespace std;int main(){string s;s.append("123");s.append("abc");s.append("456");cout cin.get();return 0;}原创 2012-10-17 07:47:07 · 537 阅读 · 0 评论 -
stack容器的用法:入栈、出栈、访问栈顶元素,判断是否为空
#include #include using namespace std;int main(){stack s;//入栈s.push(1);s.push(2);s.push(3);s.push(4);s.push(9);//读取栈顶元素cout //返回堆栈元素数量cout //判断堆栈是否为空cout原创 2012-10-17 07:43:39 · 3828 阅读 · 0 评论 -
queue队列容器入队,出队,读取队首元素,队尾元素,判断是否为空
#include #include using namespace std;int main(){queue q;q.push(1);q.push(2);q.push(3);q.push(9);//返回队列元素数量cout //队列是否为空cout //读取队首元素cout //读取队尾原创 2012-10-17 07:40:07 · 16327 阅读 · 0 评论 -
vertor容器里面的insert()方面要求插入的位置,是元素的迭代器位置,而不是元素的下标
#include #include using namespace std;int main(){vector v(5);v[0]=0;v[1]=2;v[2]=4;vector::iterator index;for(index = v.begin(); index != v.end(); ++index){cout原创 2012-10-17 07:47:48 · 488 阅读 · 0 评论 -
deque双端队列容器前、中、尾部插入
#include #include using namespace std;int main(){deque d;//尾部插入d.push_back(1);d.push_back(2);d.push_back(3);cout //从头部插入,不会增加元素,只会覆盖,而且元素往后移动d.push_front(10);原创 2012-10-17 07:37:54 · 737 阅读 · 0 评论 -
list容器查找算法find(),
#include #include #include //注意需要这个库using namespace std;int main(){list l;for(size_t i=1; i {l.push_back(i);}list::iterator it;for (it=l.begin(); it!=l.end();++it){原创 2012-10-17 07:38:29 · 1489 阅读 · 0 评论 -
reverse反向排列
#include #include #include //reverse算法用的到using namespace std;int main(){vector v;for (size_t i=0; i != 10; ++i){v.push_back(i);}vector::iterator it;for (it=v.begin原创 2012-10-17 07:40:34 · 327 阅读 · 0 评论 -
string对象与数值相互转换
#include #include #include using namespace std;//c++方法:将数值转换为stringstring converToString(double x){ostringstream o;if (o return o.str();return "conversion error";}/原创 2012-10-17 07:46:27 · 335 阅读 · 0 评论 -
把字符指针赋给一个字符串对象
#include #include using namespace std;int main(){string s;char ss[50000];scanf("%s",&ss);//注意字符数组的数据名也要取地址,不然ss只是指向第一个字符的地址;s = ss; //直接把指针赋值给string 对象了cout return 0;原创 2012-10-17 07:50:17 · 591 阅读 · 0 评论 -
二分查找算法 递归和非递归
二分查找算法: 1) 递归方法实现: int BSearch(elemtype a[],elemtype x,int low,int high) /*在下届为low,上界为high的数组a中折半查找数据元素x*/ { int mid; if(low>high) return -1; mid=(low+high)/2; if(x==a[原创 2012-10-17 08:02:16 · 459 阅读 · 0 评论 -
sort默认升序排序
#include #include #include //reverse ,sort算法用的到using namespace std;int main(){vector v;for (size_t i=0; i != 10; ++i){v.push_back(i);}vector::iterator it ;for (i原创 2012-10-17 07:41:44 · 893 阅读 · 0 评论 -
优先队列priority_queue容器的使用方法:出队,入队,删除队首元素,判断是否为空
#include #include using namespace std;int main(){priority_queue pq;//入队,插入新元素;pq.push(1);pq.push(2);pq.push(3);pq.push(9);//返回队列中元素数目;cout //所有元素出队,删除所有元素while (p原创 2012-10-17 07:53:50 · 12713 阅读 · 0 评论