C++STL练习

来源:互联网 发布:怎么在淘宝上卖二手书 编辑:程序博客网 时间:2024/04/29 16:46

//ACM程序设计
/*
//vector向量容器
#include<vector>
using namespace std;
int main()
{
  vector<int>v;
  v.push_back(2);
  v.push_back(7);
  v.push_back(9);
  return 0;
}

*/
/*
//用迭代器访问vector元素
#include<vector>
#include<iostream>
using namespace std;
int main()
{
  vector<int>v(3);
  v[0]=2;
  v[1]=7;
  v[2]=9;
  vector<int>::iterator it;
  for(it=v.begin();it!=v.end();it++)
    {
  cout<<*it<<" ";
    }
  cout<<endl;
  return 0;
}
*/
/*
//元素的插入
#include<iostream>
#include<vector>
using namespace std;
int main()
{
  vector<int>v(3);
  v[0]=2;
  v[1]=7;
  v[2]=9;
  v.insert(v.begin(),8);
  v.insert(v.begin()+2,1);
  v.insert(v.end(),3);
  vector<int>::iterator it;
  for(it=v.begin();it!=v.end();it++)
    {
      cout<<*it<<" ";
    }
  return 0;

  }
*/
/*
//元素的删除
#include<iostream>
#include<vector>

using namespace std;
int main()
{
  vector<int>v(10);
  for(int i=0;i<10;i++)
    {
      v[i]=i;
    }
  //删除第2个元素,从第0个开始计算
  v.erase(v.begin()+2);
  vector<int>::iterator it;
  for(it=v.begin();it!=v.end();it++)
    {
      cout<<*it<<" ";
    }
  cout<<endl;
  //删除迭代器中第1到5的数字
  v.erase(v.begin()+1,v.begin()+5);
  for(it=v.begin();it!=v.end();it++)
    {
      cout<<*it<<" ";
    }
  cout<<endl;
  //清空向量
  v.clear();
  cout<<v.size()<<endl;
  return 0;


}
*/
/*
//使用reverse反向排列算法
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
  vector<int>v(10);
  for(int i=0;i<10;i++)
    {
      v[i]=i;
    }
  //反向排列向量的从首到尾的元素
  reverse(v.begin(),v.end());
  vector<int>::iterator it;
  for(it=v.begin();it!=v.end();it++)
    {
      cout<<*it<<" ";
    }
  cout<<endl;
  //    v.clear();
  return 0;
}
*/
/*
//使用sort对向量进行排序
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
  vector<int>v;
  int i;
  for(i=0;i<10;i++)
    {
      v.push_back(9-i);
    }

  for(i=0;i<10;i++)
    {
      cout<<v[i]<<" ";
    }
  cout<<endl;
  sort(v.begin(),v.end());
  for(i=0;i<10;i++)
    {
      cout<<v[i]<<" ";
    }
  cout<<endl;
  return 0;
}
*/
/*
//设置sort()的排序方式
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

  vector<int>v;
  int i;
  bool cmp(const int &a,const int &b)
  {
    if(a!=b) return a>b;
    else return a>b;
  }

int main()
{
  vector<int>v;
  int i;
  for(i=0;i<10;i++)
    {
      v.push_back(i);
    }


  for(i=0;i<10;i++)
    {
      cout<<v[i]<<" ";
    }
  cout<<endl;

  sort(v.begin(),v.end(),cmp);
  for(i=0;i<10;i++)
    {
      cout<<v[i]<<" ";
    }
  cout<<endl;
  return 0;
}
*/
/*
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
  vector<int>v;
  int i;
  for(i=0;i<10;i++)
    {
      v.push_back(i);
    }

  cout<<v.size()<<endl;
  cout<<v.empty()<<endl;

  v.clear();
  cout<<v.empty()<<endl;
  return 0;
}
*/

/*
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
  string s;
  cout<<s.length()<<endl;
  return 0;
}
*/
/*
#include<string>
#include<iostream>
using namespace std;
int main()
{
  string s;
  s="Hello~!C++STL";
  cout<<s<<endl;
  return 0;
}
*/
/*
#include<string>
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
  string s;
  char ss[500];
  //scanf的输入速度比cin快得多
  //scanf是C语言函数,不支持string 对象
  scanf("%s",ss);
  s=ss;
  cout<<s<<endl;
  return 0;
}
*/
/*
#include<iostream>
#include<string>
using namespace std;
int main()
{
  string s;
  s=s+'a';
  s=s+'b';
  s=s+'c';
  cout<<s<<endl;
  return 0;
}
*/
/*                             
//(2)采用append()的方法,在后面添加字符串
#include<iostream>
#include<string>
using namespace std;
int main()
{
  string s;
  s.append("abc");
  s.append("123");
  cout<<s<<endl;
  return 0;
}
*/
/*
//给string加入字符
#include<iostream>
#include<string>

using namespace std;
int main()
{
  string s="12345";
  string::iterator it;
  //迭代器位置为字符串首
  it=s.begin();
  s.insert(it+1,'p');
  cout<<s<<endl;
  return 0;

}
*/
/*
//删除string对象的元素
#include<iostream>
#include<string>
using namespace std;
int main()
{
  string s="abc123456";
  string::iterator it;
  it=s.begin();
  s.erase(it+3);
  cout<<s<<endl;
  s.erase(it+4);
  cout<<s<<endl;
  s.erase(it,it+4);
  cout<<s<<endl;
  s="";
  cout<<s.length()<<endl;
  return 0;


}
*/

//替换string对象的字符
#include<iostream>
#include<string>
using namespace std;
int main()
{
  string s;
  s="abc123456";
  s.replace(3,3,"good");
  cout<<s<<endl;
  return 0;
}

原创粉丝点击