我们得到一个包含正数和负数的整数类型数组,比方说,任意给定大小的 arr[] 。任务是以这样的方式重新排列数组,使得偶数位置或索引处的所有元素都应大于奇数位置或索引处的元素,并且打印结果。
让我们看看这个的各种输入输出场景 –
输入− int arr[] = {2, 1, 4, 3 , 6, 5, 8, 7}
输出− 排列前的数组:2 1 4 3 6 5 8 7重新排列数组,使得偶数位置大于奇数位置: 1 2 3 4 5 6 7 8
解释− 我们得到一个大小为 8 的整数数组,其中包含正数和负面因素。现在,我们将数组重新排列,使得偶数位置的所有元素都大于奇数位置的元素,执行此操作后形成的数组为 1 2 3 4 5 6 7 8。
输入− int arr[] = {-3, 2, -4, -1}
输出− 排列前的数组:- 3 2 -4 -1重新排列一个数组,使偶数位置大于奇数: -4 -3 -1 2
解释 – 我们得到一个大小为 8 的整数数组,其中包含正数和负面元素。现在,我们将数组重新排列,使得偶数位置的所有元素都大于奇数位置的元素,执行此操作后形成的数组为-4 -3 -1 2。
立即学习“C++免费学习笔记(深入)”;
下面的程序使用的方法如下
输入一个整型元素数组,计算数组的大小。
li>
通过将数组和数组的大小传递给排序函数,使用 C++ STL 的排序方法对数组进行排序。
声明一个整型变量并通过调用函数 Rearrangement(arr, size) 来设置它
在函数 Rearrangement(arr, size) 内
声明一个整数类型数组,假设 ptr[size] 的大小与数组 arr[size] 相同
声明临时整数类型变量,即第一个为 0 和最后到大小-1。
从 i 到 0 开始循环 FOR,直到 i 小于数组的大小。在循环内部,检查 IF (i + 1) % 2 等于 0,然后将 ptr[i] 设置为 arr[last–]。
ELSE,设置 ptr[i ] 到 arr[first++]。
打印结果。
示例
#include using namespace std;void Rearrangement(int* arr, int size){ int ptr[size]; int first = 0; int last = size - 1; for (int i = 0; i输出
如果我们运行上面的代码,它将生成以下输出
Array before Arrangement: 2 1 4 3 6 5 8 7Rearrangement of an array such that even positioned are greater than odd is: 1 2 3 4 5 6 7 8登录后复制
以上就是重新排列数组,使得偶数位置的元素大于奇数位置的元素(C++)的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2584856.html