1.一维数组基础
#include<iostream> using namespace std; int main() {
?? ?//数组的三种定义形式 ?? ?/* ?? ?1.数组名[数组长度] ?? ?2.数组名[数组长度]={值1,值2...}如果在输入的时候没有全部填完,会用0来进行填补 ?? ?3.数组名[]={}值1,值2...定义数组的时候必须有初始长度 ?? ?*/ ?? ?//数组元素的下表是从0开始索引的 ?? ?int arr[5]; ?? ?arr[0] = 10; ?? ?arr[1] = 20; ?? ?arr[2] = 30; ?? ?arr[3] = 40; ?? ?arr[4] = 50; ?? ?for (int i = 0; i < 5; i++) ?? ?{ ?? ??? ?cout << arr[i] << endl; ?? ?}
?? ?/* ?? ?int arr2[5] = {10,20,30,40,50} ?? ?for (int i = 0; i < 5; i++) ?? ?{ ?? ??? ?cout << arr2[i] << endl; ?? ?} ?? ?*/
?? ?/* ?? ?int arr3[]={10,20,30,40,50} ?? ?for (int i = 0; i < 5; i++) ?? ?{ ?? ?cout << arr3[i] << endl; ?? ?} ?? ?*/
?? ?system("pause"); ?? ?return 0;
}
2.一维数组数组名
#include<iostream> using namespace std; int main() {
?? ?int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; ?? ?cout << "整个数组占用内存空间为:" << sizeof(arr) << endl; ?? ?cout << "每个元素占用内存空间为:" << sizeof(arr[0]) << endl; ?? ?cout << "数组中元素个数为:" << sizeof(arr) / sizeof(arr[0]) << endl; ?? ?cout << "数组的首地址为:" << (int)arr << endl; ?? ?cout << "数组中第一个元素的地址为:" << (int)&arr[0] << endl; ?? ?cout << "数组中第二个元素的地址为:" << (int)&arr[1] << endl; ?? ?//数组名是常量,不可以进行赋值操作 ? ? //arr = 10; 错
?? ?system("pause"); ?? ?return 0;
}
3.一维数组练习,看哪个狗熊最重
#include<iostream> using namespace std; int main() { ?? ?//创建五只熊的重量
?? ?//找到最大值,并打印下来
?? ?int arr[5] = { 300, 350, 200, 400, 250 }; ?? ?int max = 0;//先认定一个最大值为0 ?? ?for(int i = 0; i < 5; i++) ?? ?{ ?? ??? ?if (arr[i] > max) ?? ??? ?{ ?? ??? ??? ?max = arr[i]; ?? ??? ?} ?? ?} ?? ?cout << "最重的狗熊重量为:" << max << endl; ?? ?system("pause"); ?? ?return 0; }
4.一维数组练习,数组元素逆置
#include<iostream> using namespace std; int main() { ?? ?//逆置前数组 ?? ?int arr[5] = { 1, 3, 2, 5, 4 }; ?? ?cout << "数组逆置前:" << endl; ?? ?for (int i = 0; i < 5; i++) ?? ?{ ?? ??? ?cout << arr[i] << endl; ?? ?} ?? ?//实现逆置 ?? ?//记录起始下标位置 ?? ?//记录结束下表位置 ?? ?//起始下标与结束下标的元素互换 ?? ?int start = 0; ?? ?int end = sizeof(arr) / sizeof(arr[0]) - 1;//结束下标 ?? ?//实现元素互换 ?? ?while (start < end) ?? ?{ ?? ??? ?int temp = arr[start]; ?? ??? ?arr[start] = arr[end]; ?? ??? ?arr[end] = temp; ?? ??? ?start++; ?? ??? ?end--; ?? ?} ?? ?//打印逆置后 ?? ?cout << "数组逆置后:" << endl; ?? ?for (int i = 0; i < 5; i++) ?? ?{ ?? ??? ?cout << arr[i] << endl; ?? ?}
?? ?system("pause"); ?? ?return 0; }
5.一维数组,冒泡排序
#include<iostream> using namespace std; int main() { ?? ?//冒泡排序 ?? ?int arr[9] = { 5, 4, 9, 2, 1, 7, 8, 3, 6 }; ?? ?cout << "排序前:" << endl; ?? ?for (int i = 0; i < 9; i++) ?? ?{ ?? ??? ?cout << arr[i] << " "; ?? ?} ?? ?cout << endl; ?? ?//排序总轮数 = 元素个数 - 1; ?? ?//每轮对比次数=元素个数-排序轮数-1 ?? ? ?? ?for (int i = 0; i < 9; i++) ?? ?{ ?? ??? ?//内存循环对比 ?? ??? ?for (int j = 0; j < 9 - i - 1; j++) ?? ??? ?{ ?? ??? ??? ?//如果第一个数字比第二个数字打,则交换 ?? ??? ??? ?if (arr[j]>arr[j + 1]) ?? ??? ??? ?{ ?? ??? ??? ??? ?int temp = arr[j]; ?? ??? ??? ??? ?arr[j] = arr[j + 1]; ?? ??? ??? ??? ?arr[j + 1] = temp; ?? ??? ??? ?} ?? ??? ?} ?? ?} ?? ? ?? ?//排序后结果 ?? ?cout << "排序后:" << endl; ?? ?for (int i = 0; i < 9; i++) ?? ?{ ?? ??? ?cout << arr[i] << " "; ?? ?} ?? ?cout << endl;
?? ?system("pause"); ?? ?return 0; }
|