vector 向量容器
C++代码功能实现
#include<vector> #include<stdlib.h> #include<iostream> #include<algorithm> using namespace std; bool Comp(const int &a,const int &b) { if(a!=b) return a>b; else return a>b; } int main() { vector<int> v(10); for(int i=0;i<10;i++) v[i]=i; v.erase(v.begin()+2);//删除 vector<int>::iterator t; for(t=v.begin();t!=v.end();t++) cout<<*t<<" "; cout<<endl; v.erase(v.begin()+4); for(t=v.begin();t!=v.end();t++) cout<<*t<<" "; cout<<endl; v.erase(v.begin()+1,v.begin()+5); for(t=v.begin();t!=v.end();t++) cout<<*t<<" "; cout<<endl<<v.size()<<endl; // v.clear(); cout<<v.size()<<endl<<v[0]<<" "<<v[1]<<" "<<v[2]<<" "<<v[3]<<endl; reverse(v.begin(),v.end()); for(t=v.begin();t!=v.end();t++) cout<<*t<<" "; cout<<endl; vector<int> a; for(int i=0;i<10;i++) a.push_back(9-i); for(int i=0;i<10;i++) cout<<a[i]<<" "; cout<<endl; sort(a.begin(),a.end());//按升序排序 for(int i=0;i<10;i++) cout<<a[i]<<" "; vector<int> b; for(int i=0;i<10;i++) b.push_back(i); cout<<endl; sort(b.begin() ,b.end(),Comp);//按Comp规则排序 for(int i=0;i<10;i++) cout<<b[i]<<" "; cout<<endl; cout<<b.size()<<endl;//包含多少个元素 cout<<b.empty()<<endl;//如果为0则为真,为1则为假; b.clear();//清空 cout<<b.empty()<<endl; cout<<endl; return 0; }
string 容器
C++代码实现
#include<string.h> #include<iostream>//向量需要 #include<algorithm>//使用反向排序reverse()函数 #include<vector> using namespace std; int main() { string s;//创建字符串对象 s="zhang wei play C++.";//对象赋值 cout<<s.length()<<endl; cout<<s<<endl; //下标从零开始计数 char ss[1000]; scanf("%s",ss); s=ss;//把字符数组赋值给string对象 cout<<s<<endl; s=s+'z';//string对象尾部加字符 s=s+'w'; cout<<s<<endl; s=s+"zhangwei";//尾部加字符串 cout<<s<<endl; s.append("iewgnahz");//与尾部加字符串一样 cout<<s<<endl; string::iterator t;//定义迭代器 t=s.begin(); s.insert(t+5,'&');//插入第5个字符前 s.insert(t+14,'&');//插入第14个字符前 cout<<s<<endl; cout<<s[0]<<endl; cout<<s[0]-'1'<<endl;//两个相同的字符相减为零 t=s.begin(); s.erase(t+1);//删除1位置字符 cout<<s<<endl; s.erase(t+1); cout<<s<<endl; s.erase(t+1,t+13); //删除1~13区间元素 cout<<s<<endl; string s1; s1=s; cout<<s.length()<<endl; s1=""; //清空字符串 cout<<s1.empty()<<endl; s=s+"abcd"; s.replace(2,3,"555");//从第2个开始将连续的三个字符替换555 cout<<s<<endl; cout<<s.find("555")<<endl; cout<<s.find('a')<<endl; cout<<s.find("good")<<endl; cout<<s.find('o')<<endl; cout<<s.compare("1234")<<endl;//比较,s大返回1;小返回-1;相同返回0; reverse(s.begin(),s.end());//反向排序 cout<<s<<endl; vector<string> v;//类似于字符串数组 v.push_back("jack"); v.push_back("Tom"); cout<<v[0]<<endl; cout<<v[1]<<endl; cout<<v[0][3]<<endl; cout<<v[1][2]<<endl; s="12345"; cout<<s<<endl; int sum=0; for(int i=0;i<s.length();i++) { sum+=s[i]-'0'; } cout<<sum<<endl; cin>>s; reverse(s.begin(),s.end()); cout<<s<<endl; printf(s.c_str()); cout<<endl; return 0; }