目录
让我们看看这种情况的各种输入输出场景 - h2>
下面程序中使用的方法如下
示例
输出
首页 后端开发 C++ 重新排列一个数组,如果在C++中,'arr'是'j',则使'arr'变为'i'

重新排列一个数组,如果在C++中,'arr'是'j',则使'arr'变为'i'

Sep 18, 2023 am 10:29 AM
数组 c 重新排列 变为

重新排列一个数组,如果在C++中,arr是j,则使arr变为i

我们被给定一个正整数类型的数组,假设是arr[],它的大小可以任意给定,数组中的元素的值应该大于0但小于数组的大小。任务是重新排列 一个数组,如果 arr[j] 是“j”,那么 arr[j] 就变成“i”并打印最终结果。

让我们看看这种情况的各种输入输出场景 - h2>

输入− int arr[] = {3, 4, 1, 2, 0}

输出− 排列前的数组: 3 4 1 2 0 重新排列数组,使 arr[j] 变为 i,如果 arr[i] 为 j,则为: 4 2 3 0 1

解释− 我们得到一个大小为的整数数组6 以及数组中值小于 6 的所有元素。现在,我们将重新排列数组,即 arr[1] 为 4,arr[4] = 1 ; arr[2] 为 1,arr[1] = 2; arr[3] 是 2、arr[2] = 3; arr[4]为0,arr[0]=4。因此,最终的数组为 4 2 3 0 1。

输入 t− int arr[] = {2, 0, 1, 3}

输出− 排列前的数组:2 0 1 3 重新排列数组,使 arr[j] 变为 i,如果 arr[i] 为 j,则为: 1 2 0 3

解释− 我们得到一个大小为 6 的整数数组并且数组中所有元素的值小于 6。现在,我们将重新排列数组,即 arr[0] 为 2,arr[2] = 0 ; arr[1] 为 0,arr[0] = 1; arr[2] 是 1, arr[1] = 2; arr[3] is 3, arr[3] = 3. 因此,最终的数组是 1 2 0 3。

下面程序中使用的方法如下

  • 输入一个整数类型元素的数组,并计算数组的大小。

  • 在进行排列之前打印数组,并调用函数Rearrangement(arr, size)

  • 在函数Rearrangement(arr, size)中

    • 创建一个整数类型值的数组ptr[],大小与数组arr[]相同。

    • 开始循环FOR,从i到0,直到i小于size。在循环内,将ptr[arr[i]]设置为i。

    • 开始循环FOR,从i到0,直到i小于size。在循环内,将arr[i]设置为ptr[i]。

  • 打印重新排列后的数组。

示例

#include <bits/stdc++.h>
using namespace std;
void Rearrangement(int arr[], int size){
   int ptr[size];
   for(int i = 0; i < size; i++){
      ptr[arr[i]] = i;
   }
   for(int i = 0; i < size; i++){
      arr[i] = ptr[i];
   }
}
int main(){
   //input an array
   int arr[] = {3, 4, 1, 2, 0};
   int size = sizeof(arr) / sizeof(arr[0]);
   //print the original Array
   cout<<"Array before Arrangement: ";
   for (int i = 0; i < size; i++){
      cout << arr[i] << " ";
   }
   //calling the function to rearrange the array
   Rearrangement(arr, size);
   //print the array after rearranging the values
   cout<<"\nRearrangement of an array such that &lsquo;arr[j]&rsquo; becomes &lsquo;i&rsquo; if &lsquo;arr[i]&rsquo; is &lsquo;j&rsquo; is: ";
   for(int i = 0; i < size; i++){
      cout<< arr[i] << " ";
   }
   return 0;
}
登录后复制

输出

如果我们运行上面的代码,它将生成以下输出

Array before Arrangement: 3 4 1 2 0
Rearrangement of an array such that &lsquo;arr[j]&rsquo; becomes &lsquo;i&rsquo; if &lsquo;arr[i]&rsquo; is &lsquo;j&rsquo; is: 4 2 3 0 1
登录后复制

以上是重新排列一个数组,如果在C++中,'arr'是'j',则使'arr'变为'i'的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP数组深度复制的艺术:使用不同方法实现完美复制 PHP数组深度复制的艺术:使用不同方法实现完美复制 May 01, 2024 pm 12:30 PM

PHP中深度复制数组的方法包括:使用json_decode和json_encode进行JSON编码和解码。使用array_map和clone进行深度复制键和值的副本。使用serialize和unserialize进行序列化和反序列化。

PHP 数组键值翻转:不同方法的性能对比分析 PHP 数组键值翻转:不同方法的性能对比分析 May 03, 2024 pm 09:03 PM

PHP数组键值翻转方法性能对比表明:array_flip()函数在大型数组(超过100万个元素)下比for循环性能更优,耗时更短。手动翻转键值的for循环方法耗时相对较长。

深度复制PHP数组的最佳实践:探索高效的方法 深度复制PHP数组的最佳实践:探索高效的方法 Apr 30, 2024 pm 03:42 PM

在PHP中执行数组深度复制的最佳实践是:使用json_decode(json_encode($arr))将数组转换为JSON字符串,然后再将其转换回数组。使用unserialize(serialize($arr))将数组序列化为字符串,然后将其反序列化为新数组。使用RecursiveIteratorIterator迭代器对多维数组进行递归遍历。

PHP 数组分组函数在数据整理中的应用 PHP 数组分组函数在数据整理中的应用 May 04, 2024 pm 01:03 PM

PHP的array_group_by函数可根据键或闭包函数对数组中的元素分组,返回一个关联数组,其中键是组名,值是属于该组的元素数组。

PHP数组多维排序实战:从简单到复杂场景 PHP数组多维排序实战:从简单到复杂场景 Apr 29, 2024 pm 09:12 PM

多维数组排序可分为单列排序和嵌套排序。单列排序可使用array_multisort()函数按列排序;嵌套排序需要递归函数遍历数组并排序。实战案例包括按产品名称排序和按销售量和价格复合排序。

PHP 数组分组函数在查找重复元素中的作用 PHP 数组分组函数在查找重复元素中的作用 May 05, 2024 am 09:21 AM

PHP的array_group()函数可用于按指定键对数组进行分组,以查找重复元素。该函数通过以下步骤工作:使用key_callback指定分组键。可选地使用value_callback确定分组值。对分组元素进行计数并识别重复项。因此,array_group()函数对于查找和处理重复元素非常有用。

数组可以用作函数参数吗? 数组可以用作函数参数吗? Jun 04, 2024 pm 04:30 PM

是的,在许多编程语言中,数组可以作为函数参数,函数将对其中存储的数据执行操作。例如C++中的printArray函数可以打印数组中的元素,而Python中的printArray函数可以遍历数组并打印其元素。这些函数对数组所做的修改也会反映在调用函数中的原数组中。

探索 PHP 数组去重算法的复杂度 探索 PHP 数组去重算法的复杂度 Apr 28, 2024 pm 05:54 PM

PHP数组去重算法的复杂度:array_unique():O(n)array_flip()+array_keys():O(n)foreach循环:O(n^2)

See all articles