C++标准库中常见的两种数据结构:vector、string
vector:可以表示一串数据序列
string:表示字符串序列
函数size()
构造函数vector<int>vecl(2)
5.1、vector
vector是标准库中的类,使用vector需要包含标准库的头文件
1、初始化
#include <vector>
vector<int> vec1;
vector<int> vec1 {1,2,3,4,5}
vector<float> vec2(3);
vector<char> vec3(3, 'a');
vector<char> vec4(vec3);
2、判断是否为空
vec1.empty()
3、获取大小
vec1.size()
4、添加元素
vec1.push_back(1);
vec1.push_back(2);
5、删除元素
vec1.pop_back();
vec1.pop_back();
#include <iostream>
#include <vector>
using namespace std;
int main()
{
//1、vector初始化
vector<int> vec1;
vector<float> vec2 (3);
vector<char> vec3 (3, 'a');
vector<char> vec4 (vec3);
//2、遍历vector
for ( int i = 0; i < vec1.size(); i++ )
{
cout << vec1[i] << " ";
}
//3、添加元素
vec1.push_back(1);
vec1.push_back(2);
if ( vec1.empty() )
{
cout << "vec1 is empty!" << endl;
}
//4、移除元素
for ( int i = 0; i < vec1.size(); i++ )
{
cout << vec1[i] << endl;
}
vec1.pop_back();
vec1.pop_back();
for ( int i = 0; i < vec1.size(); i++ )
{
cout << vec1[i] << " ";
}
//5、判断相等并赋值
if ( vec1 == vec2 )
{
cout << "vec1与vec2相等" << endl;
}
vec2 = vec1;
return 0;
}
5.2、string字符串
string本质上是一种vector<char>
1、创建并初始化
#include <string>
string s1;
string s2 (3, 'a');
string s3 ("value");
string s4 (s3);
2、读写
cin >> s1 >> s2;
3、长度
s.length()
s.size()
4、判断是否为空
s.empty()
5、添加元素
s.push_back('a');
s.push_back('b');
6、删减元素
s.pop_back();
#include <iostream>
using namespace std;
int main()
{
//1、创建并初始化
string s1;
string s2 (3, 'a');
string s3 ("value");
string s4 (s3);
cout << "s1: " << s1 << endl;
cout << "s2: " << s2 << endl;
cout << "s3: " << s3 << endl;
cout << "s4: " << s4 << endl;
//2、读写
string s1;
string s2;
cout << "请输入用空格分隔的两个字符串:" << endl;
cin >> s1 >> s2;
cout << "s1: " << s1 << endl;
cout << "s2: " << s2 << endl;
return 0;
}
5.3、补充
getchar()
putchar(ch);
1、字母或数字
isalnum(ch)
2、大、小写
isupper(ch)
islower(ch)
3、转换成小、大写字母
putchar(tolower(ch))
putchar(toupper(ch))
4、控制字符
iscntrl(ch)
5、数字
isdigit(ch)
6、可打印字符
isgraph(ch)
7、标点符号
ispunct(ch)
8、空格符
isspace(ch)
9、十六进制
isxdigit(ch)
#include <iostream>
#include <ctype.h>
#include <stdio.h>
using namespace std;
// 字符处理函数
int main() {
char ch = ' ';
cout << "请输入一些字符,并以‘.’结尾:" << endl;
do {
ch = getchar();
cout << "字符:";
putchar(ch);
cout << endl;
if ( isalnum(ch) ) {
cout << "您输入的是字母或数字!" << endl;
}
if ( isalpha(ch) )
{
if ( isupper(ch) )
{
cout << "您输入的是大写字母!" << endl;
cout << "转换成小写字母是:";
putchar(tolower(ch));
cout << endl;
} else
{
cout << "您输入的是小写字母!" << endl;
cout << "转换成大写字母是:";
putchar(toupper(ch));
cout << endl;
}
}
if ( iscntrl(ch) )
{
cout << "您输入的是控制字符!" << endl;
}
if ( isdigit(ch) )
{
cout << "您输入的是数字!" << endl;
}
if ( isgraph(ch) )
{
cout << "您输入的是可打印字符!" << endl;
}
if ( ispunct(ch) )
{
cout << "您输入的是标点符号!" << endl;
}
if ( isspace(ch) )
{
cout << "您输入的是空白字符!" << endl;
}
if ( isxdigit(ch) )
{
cout << "您输入的是十六进制数!" << endl;
}
} while ( ch != '.' );
return 0;
}