C++实现数组元素逆置

c++实现数组元素逆置

例如:请声明一个5个元素的数组,并且将元素逆置.

(如原数组元素为:1,3,2,5,4;逆置后输出结果为:4,5,2,3,1);

#include <iostream>
#include <string>
using namespace std;
int main() {

	int a[5] = { 22,33,11,4,555 };
	int t;
	cout << "转置前的数组:" << endl;
	for (int i = 0; i < 5; i++) {

		cout << a[i] <<" ";
	}
	cout << endl;
	

	cout << "转置后的数组:" << endl;
	int strat = 0;
	int end = sizeof(a) / sizeof(a[0]) - 1;//数组结束下标,不用自己计算数组大小,方便修改
	//实现逆置
	//1.起始 结束位置 元素互换  
	//2.起始位置++  结束位置--
	//3.循环1  直到起始位置  >= 结束位置  
	for (int i = 0; i < 5; i++) {
		if (strat < end){
			t = a[strat];
			a[strat] = a[end];
			a[end] = t;
		}
		strat++;
		end--;
		cout << a[i] << " ";
	}
	cout << endl;
	system("pause");

	return 0;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 算法1:int a[5] = {1,2,3,4,5};int temp; for (int i = 0; i < 5 / 2; i++) { temp = a[i]; a[i] = a[5 - i - 1]; a[5 - i - 1] = temp; }算法2:int a[5] = {1,2,3,4,5};int i = 0; int j = 4; while (i < j) { int temp = a[i]; a[i] = a[j]; a[j] = temp; i++; j--; }算法3:int a[5] = {1,2,3,4,5};int i = 0; int j = 4; while (i < j) { swap(a[i], a[j]); i++; j--; } ### 回答2: 下面是3种用C++编写的将5个数组元素逆置的算法代码: 算法1: ```cpp #include<iostream> using namespace std; void reverseArray(int arr[], int size){ int temp; for(int i=0; i<size/2; i++){ temp = arr[i]; arr[i] = arr[size-1-i]; arr[size-1-i] = temp; } } int main(){ int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(arr[0]); cout << "原数组:"; for(int i=0; i<size; i++){ cout << arr[i] << " "; } reverseArray(arr, size); cout << "\n逆置后的数组:"; for(int i=0; i<size; i++){ cout << arr[i] << " "; } return 0; } ``` 算法2: ```cpp #include<iostream> using namespace std; void reverseArray(int arr[], int size){ int start = 0; int end = size - 1; while(start < end){ swap(arr[start], arr[end]); start++; end--; } } int main(){ int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(arr[0]); cout << "原数组:"; for(int i=0; i<size; i++){ cout << arr[i] << " "; } reverseArray(arr, size); cout << "\n逆置后的数组:"; for(int i=0; i<size; i++){ cout << arr[i] << " "; } return 0; } ``` 算法3: ```cpp #include<iostream> #include<algorithm> using namespace std; void reverseArray(int arr[], int size){ reverse(arr, arr + size); } int main(){ int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(arr[0]); cout << "原数组:"; for(int i=0; i<size; i++){ cout << arr[i] << " "; } reverseArray(arr, size); cout << "\n逆置后的数组:"; for(int i=0; i<size; i++){ cout << arr[i] << " "; } return 0; } ``` 以上3种算法都是将数组元素从两端开始依次交换,实现数组逆置的功能。 ### 回答3: 以下是使用 C++ 编写的三种将五个数组元素逆置的算法代码。 方法一: ```cpp #include <iostream> #include <algorithm> int main() { int arr[] = {1, 2, 3, 4, 5}; std::reverse(arr, arr + 5); for (int i = 0; i < 5; i++) { std::cout << arr[i] << " "; } return 0; } ``` 方法二: ```cpp #include <iostream> int main() { int arr[] = {1, 2, 3, 4, 5}; for (int i = 0; i < 5 / 2; i++) { int temp = arr[i]; arr[i] = arr[4 - i]; arr[4 - i] = temp; } for (int i = 0; i < 5; i++) { std::cout << arr[i] << " "; } return 0; } ``` 方法三: ```cpp #include <iostream> void reverse(int* arr, int n) { int start = 0; int end = n - 1; while (start < end) { int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; start++; end--; } } int main() { int arr[] = {1, 2, 3, 4, 5}; reverse(arr, 5); for (int i = 0; i < 5; i++) { std::cout << arr[i] << " "; } return 0; } ``` 这些代码展示了三种不同的方法来逆置一个包含五个元素数组。方法一使用 `std::reverse` 函数来逆置数组。方法二使用一个循环来交换数组的前后元素。方法三使用一个自定义的逆置函数来实现同样的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值