本文共 3488 字,大约阅读时间需要 11 分钟。
@Author:Runsen
文章目录
向量
#include
,是一个预处理器指令,它告诉编译器包含后面的任何库。在我们的例子中,这是标准vector库。
#include
创建向量的语法如下所示:
std::vectorname;
比如要定义一个int
的向量calories_today
:
std::vector calories_today;
尖括号内是向量的数据类型。尖括号之后是向量的名称。
注意: vector 的类型(即里面存放的是什么数据类型)在声明后是不能改变的。
初始化向量
std::vectorsome_vector = { 0.25, 0.50, 0.75, 1.00};
现在我们有了一个向量,我们如何访问单个元素?这就是索引发挥作用的地方。
向量是 0 索引的,这意味着第一个元素的索引为 0,第二个索引为 1,依此类推
vector[index]
在向量名称和内部元素的索引号之后,使用带方括号的表示法。 #include#include int main(){ std::vector some_vector = { 0.25, 0.50, 0.75, 1.00}; std::cout << some_vector[0] << "\n"; std::cout << some_vector[1] << "\n"; std::cout << some_vector[2] << "\n"; std::cout << some_vector[3] << "\n";}0.250.50.751
添加和删除元素
要将新元素添加到向量的末尾,我们可以使用该.push_back()
函数。
#include#include int main(){ std::vector some_vector = { 0.25, 0.50, 0.75, 1.00}; some_vector.push_back(2); std::cout << some_vector[4] << "\n";}
还可以使用.pop_back().从向量的“后面”删除元素。
some_vector.pop_back();
向量的大小
<std::vector>
不仅存储元素;它还存储向量的大小:
.size()
函数返回向量中的元素数
#include#include int main(){ std::vector some_vector = { 5,7,9,4,6,8}; std::cout << some_vector.size() << "\n";}
向量操作
我们可以使用for循环,可以更改向量中的每个值
#include#include int main(){ std::vector vector = { 5, 7, 9, 4, 6, 8}; for (int i = 0; i < vector.size(); i++) { vector[i] = vector[i] + 10; std::cout << vector[i] << "\n"; }}151719141618
编写一个程序来计算向量中偶数之和与奇数之积。
假设我们有一个向量是{2, 4, 3, 6, 1, 9}
。
然后程序应该输出
Sum of even numbers is 12Product of odd numbers is 27
具体代码如下
#include#include int main(){ int total_even = 0; int product_odd = 1; std::vector vector = { 2, 4, 3, 6, 1, 9}; for (int i = 0; i < vector.size(); i++) { if (vector[i] % 2 == 0){ total_even = vector[i] + total_even; }else{ product_odd = vector[i] * product_odd; } } std::cout << "Sum of even: " << total_even << "\n"; std::cout << "Product of odd: " << product_odd;}
数组
数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。
要声明数组,请定义变量类型,指定数组的名称,后跟方括号 并指定它应存储的元素数:
int score[4];
我们现在已经声明了一个包含四个int数组的变量。要向其中插入值,在大括号内,我们可以使用将值放在逗号分隔的列表中,
int score[4] = { 1,2,3,4}
下面是数组具体的定义和取值的方式
#includeusing namespace std;int main() { //定义方式1 //数据类型 数组名[元素个数]; int score[10]; //利用下标赋值 score[0] = 100; score[1] = 99; score[2] = 85; //利用下标输出 cout << score[0] << endl; cout << score[1] << endl; cout << score[2] << endl; //第二种定义方式 //数据类型 数组名[元素个数] = {值1,值2 ,值3 ...}; //如果{}内不足10个数据,剩余数据用0补全 int score2[10] = { 100, 90,80,70,60,50,40,30,20,10 }; //逐个输出 //cout << score2[0] << endl; //cout << score2[1] << endl; //一个一个输出太麻烦,因此可以利用循环进行输出 for (int i = 0; i < 10; i++) { cout << score2[i] << endl; } //定义方式3 //数据类型 数组名[] = {值1,值2 ,值3 ...}; int score3[] = { 100,90,80,70,60,50,40,30,20,10 }; for (int i = 0; i < 10; i++) { cout << score3[i] << endl; }}
假设我们有一个数组是{ 4,2,8,0,5,7,1,3,9 }
。编写一个程序来实现冒泡排序。
具体代码如下
#includeusing namespace std;int main() { int arr[9] = { 4,2,8,0,5,7,1,3,9 }; for (int i = 0; i < 9 - 1; i++) { for (int j = 0; j < 9 - 1 - i; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for (int i = 0; i < 9; i++) { cout << arr[i] << endl; } }
转载地址:https://maoli.blog.csdn.net/article/details/117459343 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!