数据类型 数组名[元素个数]
#include
using namespace std;
int main()
{
const int n = 3;
// 元素个数必须为常量
double ls[n];
//初始化
int ls1[2] = {1, 2};
float ls2[] = {1.2, 3.1, 5.2, 6.6};
short ls3[5] = {3, 6, 9}; // 其他值为0
// 不能超,不能用数组给数组赋值
//数组长度
int a[] = {1, 2, 3, 4, 5, 6, 7, 8};
cout << a[1] << endl;
cout << "数组所占空间" << sizeof(a) << endl;
cout << "数组每个元素长度" << sizeof(a[0]) << endl;
int aSize = sizeof(a) / sizeof(a[0]);
cout << "数组的长度" << aSize << endl;
//遍历
for(int i = 0; i < aSize; i++)
{
cout << "a[" << i << "]" << a[i] << endl;
}
//范围遍历
for(int num: a)
{
cout << num << endl;
}
cin.get()
}
#include
using namespace std;
int main()
{
int arr[3][4]; //二维数组
//初始化
//数据类型 数据名[行数][列数] = {数据1, 数据2, 数据3, }; 少了的就被赋值为0,行可以省略,列不能省略
//数据类型 数据名[行数][列数] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
int arr2[3][4][5]; //三维数组
int ia[3][4] = {1, 2, 3, 4, 5, 6, 7};
//访问
cout << ia[1][0] << endl;
//遍历 必须要知道几行和几列
//计算行列,没有的数据默认是0
cout << sizeof(ia) << endl; // 总大小
cout << sizeof(ia[0]) << endl; // 每行大小
cout << sizeof(ia[0][0]) << endl; //每个元素大小
int rowCnt = sizeof(ia) / sizeof(ia[0]);
int colCnt = sizeof(ia[0]) / sizeof(ia[0][0]);
for(int i = 0; i < rowCnt; i++)
{
for(int j = 0; j < colCnt; j++)
{
cout << ia[i][j] << endl;
}
}
for(auto& row: ia)//因为ia内是数组,不好推断,auto是自动推断的意思
{
for(auto num: row)
{
cout << num << "\t";
}
cout << endl;
}
cin.get()
}
遍历查找最小值移到第一位,再次遍历查找最小值移到第二位。。。
#include
using namespace std;
int main()
{
int arr[] = {1, 7, 4, 3, 6, 9, 5};
int aSize = sizeof(arr) / sizeof(arr[0]);
//选择排序
for(int i = 0; i < aSize; i++)
{
for(int j = i+1; j < aSize; j++)
{
if(arr[j] < arr[i])
{
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
for(int i = 0; i < aSize; i++)
{
cout << arr[i] << "\t";
}
cout << endl;
//冒泡排序
for(int k = 0; k < aSize; k++)
{
for(int i = 0; i < aSize - 1 - k; i++)
{
int j = i + 1;
if(arr[i] > arr[j])
{
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
for(int i = 0; i < aSize; i++)
{
cout << arr[i] << "\t";
}
cout << endl;
}