C++如何使用自定义函数改变数组元素顺序

/**************************************************
从键盘上输入10个整数存放到一维数组中,首先将其中最小
的数与第一个数对换,再将最大的数与最后一个数对换。
要求进行数据交换的处理过程编写成一个函数,
函数中对数据的处理要用指针方法实现。
****************************************************/
#include<iostream>
using namespace std;
int* change(int M[]);
int main()
{
	int MN[10] = { 0 };
	for (int i = 0; i < 10; i++)
		cin >> MN[i];
	for (int i = 0; i < 10; i++)
		cout << MN[i]<<" ";
	cout << '\n';
	int* pMN = NULL;
	pMN = change(MN);
	for (int i = 0; i < 10; i++)
		cout << *(pMN + i) << " ";
}
int* change(int M[])//定义一个函数,用于改变数组元素顺序
{
	int mid,minI=0,maxI=9;
	for (int i = 0; i < 10; i++)
		if (M[minI] > M[i])
			minI = i;
	mid = M[0];
	M[0] = M[minI];
	M[minI] = mid;

	for (int i = 0; i < 10; i++)
		if (M[maxI] < M[i])
			maxI = i;
	mid = M[9];
	M[9] = M[maxI];
	M[maxI] = mid;

	return M;
}
上一篇:PTA 求最大值及其下标 (python3.0)


下一篇:【NOI2010】超级钢琴 题解(贪心+堆+ST表)