STL 代码示例整理(2)

1:vector

#include <cstdlib>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[])
{
    vector<int> vi(10);   
    cout<<"vi size: "<<vi.size()<<endl;  
    for(int i=0; i<5; i++)
    {
        vi[i] = i + 1;
    }    
    vi.resize(5);  
    for(int i=0; i<vi.size(); i++)
    {
        cout<<vi[i]<<endl;
    }
}

2:list

#include <cstdlib>
#include <iostream>
#include <list>
using namespace std;
int main(int argc, char *argv[])
{
    list<double> l;  
    cout<<"l size: "<<l.size()<<endl; 
    for(int i=0; i<5; i++)
    {
        l.push_back((i + 1) / 1000.0);
    }
    cout<<"l size: "<<l.size()<<endl; 
    list<double>::iterator current = l.begin(); 
    cout<<"Elements in l:"<<endl;
    while( current != l.end() )
    {
        cout<<*current<<endl;
        current++;
    }  
    current = l.begin(); 
    current++;
    current++;
    l.insert(current, 0.1);
    cout<<"Elements in l:"<<endl;
    for(list<double>::iterator p = l.begin(); p != l.end(); p++)
    {
        cout<<*p<<endl;
    } 
}

3:queue与stack

#include <cstdlib>
#include <iostream>
#include <stack>
#include <queue>
using namespace std;
void StackUsage()
{
    stack<double> s; 
    for(int i=0; i<5; i++)
    {
        s.push(i/100.0);
    } 
    cout<<"Elements in s:"<<endl;
    while( !s.empty() )
    {
        double v = s.top();
        s.pop();
        cout<<v<<endl;
    }
}
void QueueUsage()
{
    queue<int> q;
    for(int i=0; i<5; i++)
    {
        q.push(i + 1);
    } 
    cout<<"Elements in q:"<<endl; 
    while( !q.empty() )
    {
        int v = q.front();
        q.pop();
        cout<<v<<endl;
    } 
}
int main(int argc, char *argv[])
{
    StackUsage();
    QueueUsage();
}

4:algorithm

#include <cstdlib>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void current(int& v)
{
    cout<<v<<endl;
}
void print(vector<int>& vec)
{
    cout<<"Elements in vector:"<<endl;   
    for_each(vec.begin(), vec.end(), current);
}
int compare(const int& a, const int& b)
{
    return a < b;
}
int main(int argc, char *argv[])
{
    vector<int> v(10);   
    for(int i=9; i>=0; i--)
    {
        v[i] = 9 - i;
    }       
    print(v);
    sort(v.begin(), v.end(), compare);
    print(v);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员的资料库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值