目录
让我们看看这个的各种输入输出场景 −
下面程序中使用的方法如下
示例
输出
首页 后端开发 C++ 在C++中,使用固定额外空间重新排列正数和负数

在C++中,使用固定额外空间重新排列正数和负数

Sep 13, 2023 pm 10:25 PM
排列 正负数 固定额外空间

在C++中,使用固定额外空间重新排列正数和负数

我们有一个包含正数和负数的整数类型数组,假设是任意给定大小的arr[]。任务是重新排列数组,使得数组的所有元素都使用C++ STL的内置排序函数以及使用递归进行排序 技术编码和打印结果。

让我们看看这个的各种输入输出场景 −

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

输出 − 重新排列正负数,使用恒定的额外空间:-3 -1 -1 0 6 2 4。

解释 − 我们给出一个大小为7的整数数组,包含正数和负数元素。现在,我们将重新排列数组,使得数组中的所有元素在恒定的额外空间内排序,最终结果将是-3 -1 -1 0 2 4 6。

输入 − int arr[] = {-9, -10, 2, 3, 10, 5, 8, 4}

输出 − 重新排列正负数,使用恒定的额外空间:-9 -10 2 3 10 5 8 4

解释 − 我们给出一个大小为8的整数数组,包含正数和负数元素。现在,我们将重新排列数组,使得数组中的所有元素在恒定的额外空间内排序,最终结果将是-9 -10 2 3 10 5 8 4。

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

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

  • 使用FOR循环在执行重新排列操作之前打印数组。

  • 通过传递数组和数组大小作为参数调用函数Rearrangement(arr, size)。

  • 在函数Rearrangement(arr, size)内部

    • 将一个整数类型变量i设置为0,将j设置为size -1。

    • 开始while(true)。在while内部,开始另一个循环,当arr[i]小于0且i小于size时,递增i。

    • 开始WHILE arr[j]大于0且j大于0时,递减j。

    • 检查IF i小于j,然后设置temp为arr[i],arr[i]为arr[j],arr[j]为temp。

    • 否则,跳出循环。

  • 打印结果。

示例

#include<iostream>
using namespace std;
void Rearrangement(int arr[], int size){
   int i = 0;
   int j = size - 1;
   while(true){
      while(arr[i] < 0 && i < size){
         i++;
      }
      while(arr[j] > 0 && j >= 0){
         j--;
      }
      if (i < j){
         int temp = arr[i];
         arr[i] = arr[j];
         arr[j] = temp;
      }
      else{
         break;
      }
   }
}
int main(){
   int arr[] = {4, 2, -1, -1, 6, -3, 0};
   int size = sizeof(arr)/sizeof(arr[0]);
   //calling the function to rearrange the array
   Rearrangement(arr, size);
   //print the array after rearranging the values
   cout<<"Rearrangement of positive and negative numbers with constant extra space is: ";
   for(int i = 0; i < size; i++){
      cout<< arr[i] << " ";
   }
   return 0;
}
登录后复制

输出

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

Rearrangement of positive and negative numbers with constant extra space is: -3 -1 -1 0 6 2 4
登录后复制

以上是在C++中,使用固定额外空间重新排列正数和负数的详细内容。更多信息请关注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脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

虚拟币十大交易平台有哪些?全球十大虚拟币交易平台排行 虚拟币十大交易平台有哪些?全球十大虚拟币交易平台排行 Feb 20, 2025 pm 02:15 PM

随着加密货币的普及,虚拟币交易平台应运而生。全球十大虚拟币交易平台根据交易量和市场份额排名如下:币安、Coinbase、FTX、KuCoin、Crypto.com、Kraken、Huobi、Gate.io、Bitfinex、Gemini。这些平台提供各种服务,从广泛的加密货币选择到衍生品交易,适合不同水平的交易者。

芝麻开门交易所怎么调成中文 芝麻开门交易所怎么调成中文 Mar 04, 2025 pm 11:51 PM

芝麻开门交易所怎么调成中文?本教程涵盖电脑、安卓手机端详细步骤,从前期准备到操作流程,再到常见问题解决,帮你轻松将芝麻开门交易所界面切换为中文,快速上手交易平台。

Bootstrap图片居中需要用到flexbox吗 Bootstrap图片居中需要用到flexbox吗 Apr 07, 2025 am 09:06 AM

Bootstrap 图片居中方法多样,不一定要用 Flexbox。如果仅需水平居中,text-center 类即可;若需垂直或多元素居中,Flexbox 或 Grid 更合适。Flexbox 兼容性较差且可能增加复杂度,Grid 则更强大且学习成本较高。选择方法时应权衡利弊,并根据需求和偏好选择最适合的方法。

十大加密货币交易平台 币圈交易平台app排行前十名推荐 十大加密货币交易平台 币圈交易平台app排行前十名推荐 Mar 17, 2025 pm 06:03 PM

十大加密货币交易平台包括:1. OKX,2. Binance,3. Gate.io,4. Kraken,5. Huobi,6. Coinbase,7. KuCoin,8. Crypto.com,9. Bitfinex,10. Gemini。选择平台时应考虑安全性、流动性、手续费、币种选择、用户界面和客户支持。

c上标3下标5怎么算 c上标3下标5算法教程 c上标3下标5怎么算 c上标3下标5算法教程 Apr 03, 2025 pm 10:33 PM

C35 的计算本质上是组合数学,代表从 5 个元素中选择 3 个的组合数,其计算公式为 C53 = 5! / (3! * 2!),可通过循环避免直接计算阶乘以提高效率和避免溢出。另外,理解组合的本质和掌握高效的计算方法对于解决概率统计、密码学、算法设计等领域的许多问题至关重要。

十大虚拟币交易平台2025 加密货币交易app排名前十 十大虚拟币交易平台2025 加密货币交易app排名前十 Mar 17, 2025 pm 05:54 PM

十大虚拟币交易平台2025:1. OKX,2. Binance,3. Gate.io,4. Kraken,5. Huobi,6. Coinbase,7. KuCoin,8. Crypto.com,9. Bitfinex,10. Gemini。选择平台时应考虑安全性、流动性、手续费、币种选择、用户界面和客户支持。

安全靠谱的数字货币平台有哪些 安全靠谱的数字货币平台有哪些 Mar 17, 2025 pm 05:42 PM

安全靠谱的数字货币平台:1. OKX,2. Binance,3. Gate.io,4. Kraken,5. Huobi,6. Coinbase,7. KuCoin,8. Crypto.com,9. Bitfinex,10. Gemini。选择平台时应考虑安全性、流动性、手续费、币种选择、用户界面和客户支持。

安全的虚拟币软件app推荐 十大数字货币交易app排行榜2025 安全的虚拟币软件app推荐 十大数字货币交易app排行榜2025 Mar 17, 2025 pm 05:48 PM

安全的虚拟币软件app推荐:1. OKX,2. Binance,3. Gate.io,4. Kraken,5. Huobi,6. Coinbase,7. KuCoin,8. Crypto.com,9. Bitfinex,10. Gemini。选择平台时应考虑安全性、流动性、手续费、币种选择、用户界面和客户支持。

See all articles