标签:方法 oat 下标 运行 eof ack string 动态数组 避免
数组是一个变量, 由数据类型相同的一组元素组成
变量是内存中的一块空间, 而数组是内存中一块连续的空间
数组的结构和基本元素
数组只有一个名称, 即标识符, 用来表示数组的变量名
元素下标标明了元素在数组中的位置, 从0开始
数组中的每个元素都可以通过下标来访问
数组长度固定不变, 避免数组越界
语法: 数据类型 数组名[数组大小];
int nums[25];
char array_of_name[30];
double curr_salary[35];
const int N = 50;
int emp_id[N];
//元素个数与声明的一致
int years[6] = {2012, 2013, 2014, 2015, 2016, 2017}
//后面5个元素未初始化, 默认值为0
int months[12] = {1, 3, 4, 6, 7, 8, 9}
//数组中元素个数为2
int days[] = {1, 5};
//错误定义, 未知元素个数
int array[] = {};
//C++11中的数组初始化, 可以省略=
int days[]{1, 15};
//大括号可以为空, 所有元素置为0
float m[0]{};
//求数组的长度
sizeof(years)/sizeof(years[0])
#include <iostream>
using namespace std;
int main()
{
int nums_array[]{8, 4, 2, 1, 23, 344, 12};
//数组的长度
int len_array = sizeof(nums_array) / sizeof(nums_array[0]);
int sum = 0;
//循环输出数组的元素, 并计算数组中所有元素的和及平均值
for(int i = 0; i < len_array; i++){
cout << nums_array[i] << ‘ ‘;
sum = sum + nums_array[i];
}
cout << endl;
cout << "数组所有元素的和: " << sum << endl;
cout << "数组所有元素的平均值: " << sum/len_array << endl;
}
//冒泡排序
//第一轮比较的次数: 数组长度减一
//下一轮比上一轮比较的次数: 少一次
#include <iostream>
using namespace std;
int main()
{
const int N = 8;
int nums[N]{24, 13, 7, 45, 11, 98, 9, 36};
int temp;
//外层循环控制比较的次数
for(int i = 0; i < N - 1; i++){
//内层循环控制每轮的比较和交换
for(int j = 0; j < N - 1 - i; j++){
if(nums[j] > nums[j + 1]){
temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
for(int i = 0; i < N; i++){
cout << nums[i] << ‘ ‘;
}
cout << endl;
}
#include <iostream>
using namespace std;
int main()
{
const int N = 8;
int nums[N]{24, 13, 7, 45, 11, 98, 9, 36};
int temp;
//逆序
for(int i = 0; i < N/2; i++){
temp = nums[i];
nums[i] = nums[N-1-i];
nums[N-1-i] = temp;
}
for(int i = 0; i < N; i++){
cout << nums[i] << ‘ ‘;
}
cout << endl;
}
//语法: 数据类型 数组名[行数][列数];
double score[5][3];
int animate[4][4];
//定义一个向量容器
vector<double> vec1;
//定义一个长度为5的向量容器
vector<string> vec2(5);
//定义一个长度为20, 元素全部为998的向量容器
vector<int> vec3(20, 998);
方法 | 解释 |
---|---|
clear() | 移除容器中所有的数据 |
empty() | 判断容器是否为空 |
size() | 返回容器中元素的个数 |
[index], at[index] | 返回索引为index的元素 |
erase(pos) | 删除pos位置处的数据 |
erase(beg, end) | 删除[beg, end)区间的数据 |
front() | 返回第一个元素 |
insert(pos, el) | 在pos处插入一个元素el |
pop_back() | 删除最后一个元素 |
push_back(el) | 在容器末尾插入一个元素 |
resize(num) | 重新设置容器大小 |
begin(), end() | 返回容器首尾元素的迭代器 |
标签:方法 oat 下标 运行 eof ack string 动态数组 避免
原文地址:https://www.cnblogs.com/KX-Lau/p/12818505.html