分享

02、一维数组练习例子

 星光闪亮图书馆 2020-04-23

#include <iostream>

using namespace std;

void arrprint(int arr[],int size) //打印数组。

{

for (int i = 0; i < size; i++)

cout << arr[i] << " ";

cout << endl;

return;

}

void arrinvordorder(int arr[],int size) //数组逆序。

{

int arrstart = 0, arrend = size-1;

while (arrstart < arrend)

{

int temp = arr[arrstart];

arr[arrstart] = arr[arrend];

arr[arrend] = temp;

arrstart++;

arrend--;

}

return;

}

int arrmax(int arr[],int size) //求数组中最大的数,返回下标。

{

int temp = 0, xb = 0;

for (int i = 0; i < size - 1; i++)

{

if (temp < arr[i])

{

temp = arr[i];

xb = i;

}

}

return xb;

}

void bubblesort(int arr[],int size) //冒泡排序(升序)。

{

for (int i = 0; i <= size - 1; i++)

{

for (int j=0;j<size-i-1;j++)

if (arr[j] > arr[j + 1])

{

int temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

}

}

return;

}

int main()

{

int arr[] = { 3,5,2,11,12,56,78,97,6,10,8,1,9,0,7};

int size = sizeof(arr) / sizeof(arr[0]);

cout << "原数组为:" << endl;

arrprint(arr,size);

cout << "原数组元素个数为:" << size << endl;

int max = arrmax(arr,size);

cout << "数组中最大的元素为:arr["<<max<<"]="<<arr[max]<<endl;

cout << "arr数组的首地址:" << arr << endl;

cout << "arr数组第一个元素的地址:" << &arr[0] << endl;

cout << "逆序排序数组:" << endl;

arrinvordorder(arr,size);

cout << "逆序数组为:" << endl;

arrprint(arr,size);

cout << "冒泡排序数组(升序):" << endl;

bubblesort(arr,size);

cout << "冒泡排序后数组为:" << endl;

arrprint(arr,size);

system("pause");

return 0;

}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约