码迷,mamicode.com
首页 > 其他好文 > 详细

STL学习

时间:2015-07-29 13:51:18      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

//vector的使用
//相当于数组,常用的 添加 删除  清空 测长 操作 

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<vector>
using namespace std;
int main()
{
    vector<int>a;
    a.clear();//清空
    for(int i=0;i<5;i++)
    {
        a.push_back(i);//把元素i放到a里 
    } 
    for(int i=0;i<a.size();i++)//a.size()测量a的元素个数
    printf("%d ",a[i]); 
    puts("");
    vector<int>::iterator it;//vector容器指针
    it=a.begin();//指向第一个元素
    a.erase(it+2);//删除第三个
    for(int i=0;i<a.size();i++)
    printf("%d ",a[i]);
    system("pause"); 
}

//map的使用
//对杂乱无序的字符串或数字 做哈希匹配,可以重新编号,输入一些英文名字,给它们编号
#include<iostream>
#include<cstdio>
#include<string>
#include<map>
using namespace std;
int main()
{
    map<string,int>mp;
    mp.clear();//清空
    string nm[]={"abc","david","lucy","abc","app","lucy"};
    int index=1;
    for(int i=0;i<6;i++)
    {
        if(mp[nm[i]]==0)
        mp[nm[i]]=index++;//判断是否已经出现过,没出现过,就编号 
    } 
    map<string,int>::iterator it;//map容器的指针 
    for(it=mp.begin();it!=mp.end();it++)
    {
        cout<<it->first<<" "<<it->second<<endl;//按字典序输出每个的编号 
    } 
    system("pause"); 
}

//set的使用
//set可以插入很多值,去掉重复元素,并可以查找
#include<iostream>
#include<cstdio>
#include<string>
#include<set>
using namespace std;
int main()
{
    set<string>st;
    st.clear();//清空
    string nm[]={"abc","david","lucy","abc","app","lucy"};
    for(int i=0;i<6;i++)
    st.insert(nm[i]);// st里插入元素 
    set<string>::iterator it;//set容器里的指针
     for(it=st.begin();it!=st.end();it++)
     {
         cout<<*it<<endl;
     }
     it=st.find("app");
     if(it!=st.end())
     cout<<"find"<<" "<<"app"<<endl;//找到了就输出 find 
     else 
     cout<<"can‘t find"<<" "<<"app"<<endl;//找不到就输出 can‘t find
    system("pause");
} 


//stack的使用
//stack几个主要函数
//empty()堆栈为空则返回真
//pop()移除 栈顶元素(不会返回栈顶元素的值)
//push()在栈顶增加元素
//size()返回栈中元素数目 
//top()返回栈顶元素
#include<iostream>
#include<cstdio>
#include<cstring>
#include<stack>
using namespace std;
int main()
{
    int a[]={1,3,5,7,9,11};
    stack<int>st;
    int i;
    if(st.empty())
    {
        for(i=0;i<3;i++)
        st.push(a[i]);
    }
    for(int i=0;i<2;i++)
    {
        printf("%d",st.top());
        st.pop();
    } 
    printf("\n");
    for(int i=3;i<6;i++)
    st.push(a[i]);
    printf("The size of stack is %d\n",st.size());
    int n=st.size();
    for(int i=0;i<n;i++)
    {
        printf("%d",st.top());
        st.pop();
    }
    printf("\n");
    system("pause");
} 



//queue的使用
//queue几个主要函数
//empty()队列为空则返回真
//pop()移除队首元素
//push()在队尾增加元素
//size()返回队列元素数目
//front()返回队首元素
//back()返回队尾元素 
#include<iostream>
#include<cstring>
#include<cstdio>
#include<queue>
using namespace std;
int main()
{
    int a[]={1,3,5,7,9,11};
    queue<int>qu;
    int i;
    if(qu.empty())
    {
        for(i=0;i<3;i++)
        qu.push(a[i]); 
    }
    printf("Front is %d and Back is %d\n",qu.front(),qu.back());
    for(int i=0;i<2;i++)
    {
        qu.pop();
        printf("Front is %d and Back is %d\n",qu.front(),qu.back());
    }
    for(int i=3;i<6;i++)
    qu.push(a[i]);
    printf("The size of queue is %d\n",qu.front(),qu.back());
    int n=qu.size();
    printf("Front is %d and Back id %d\n",qu.front(),qu.back());
    for(int i=0;i<n-1;i++)
    {
        qu.pop();
        printf("Front is %d and Back is %d\n",qu.front(),qu.back());
    }
    system("pause");
}

 

STL学习

标签:

原文地址:http://www.cnblogs.com/Agatha/p/4685634.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!