一维数组:
①相同类型
②内存连续
数据类型 数组名【3】;
数据类型 数组名【3】= {12,23,45};
数据类型 数组名【 】={12,34,56,78,...};
#include <iostream>
using namespace std;
int main()
{
/*数组:
* ①相同类型②内存连续
* 数据类型 数组名【3】;
* 数据类型 数组名【3】= {12,23,45};
* 数据类型 数组名【 】={12,34,56,78,...};
* */
//通过下标访问元素
/*数组名:
* ①统计整个数组在内存中的长度②可以获取数组在内存中的首地址
*
*/
int arr[5];
cout << sizeof(arr[0]) << endl;//数组的首地址的内存
cout << sizeof(arr) << endl;//整个数组的内存
cout << sizeof(arr) / sizeof(arr[0]) << endl;//数组的数量
//
cout << (int)&arr[0] << endl;//在访问一个具体的元素的地址的时候,要加上地址符&
cout << &arr[1] << endl;
return 0;
}
- 在访问一个具体的元素的地址的时候,要加上地址符&
小猪称体重
如果大于max,则转换
#include <iostream>
using namespace std;
int main()
{
//五只小猪称体重
int arr[5] = {
200, 100, 500, 340, 456};
int max = 0;
for (int i = 0; i < 5; i++)
{
if (arr[i] > max)
max = arr[i];//如果大于max,则转换
}
cout << max << endl;
return 0;
}
一维数组的逆置 :
int end = sizeof(arr) / sizeof(arr[0]) - 1;//最后一个数组的下标
#include <iostream>
using namespace std;
int main()
{
int arr[5] = {
100,200,400,900,800};
int start = 0;
int end = sizeof(arr) / sizeof(arr[0]) - 1;//最后一个数组的下标
while (start <= end)
{
int temp;
//交换最后一个和第一个下标的位置
temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
//第一个后移,最后一个前移
start++;
end--;
}
//依次输出
for (int i = 0; i < 5; i++)
{
cout << arr[i] << endl;
}
return 0;
}
冒泡法
#include <iostream>
using namespace std;
int main()
{
//比较相邻的元素,大的向后移,直到最后一个为止
int arr[5] = {
100, 310, 1034, 345, 896 };
for (int i = 0; i < 5; i++)
{
//比较一次比一次少
for (int j = 0; j < 5 - i - 1; 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 < 5; i++)
{
cout << arr[i] << endl;
}
return 0;
}