当前位置: 首页 > news >正文

算法题求解-给定一个整数序列,要求将序列中所有负数都放于所有非负数之前

文章目录

  • 1、问题描述
  • 2、功能实现


1、问题描述

给定一个整数序列,要求将序列中所有负数都放于所有非负数之前

2、功能实现

 
#include <iostream>
#include <vector>
#include <algorithm>using namespace std;// 函数原型声明
void rearrangeNegatives(vector<int>& nums);int main() {vector<int> nums;int n, num;// 从用户输入中读取整数序列cout << "请输入整数序列的长度:";cin >> n;cout << "请输入 " << n << " 个整数,用空格分隔:";for (int i = 0; i < n; ++i) {cin >> num;nums.push_back(num);}// 调用函数重新排列负数和非负数rearrangeNegatives(nums);// 输出重新排列后的序列cout << "重新排列后的序列:";for (int num : nums) {cout << num << " ";}cout << endl;return 0;
}void rearrangeNegatives(vector<int>& nums) {int left = 0, right = nums.size() - 1;while (left < right) {// 向右移动左指针,直到找到一个非负数while (left < right && nums[left] < 0) {left++;}// 向左移动右指针,直到找到一个负数while (left < right && nums[right] >= 0) {right--;}// 交换左右指针所指向的元素if (left < right) {swap(nums[left], nums[right]);left++;right--;}}
}

http://www.mrgr.cn/news/68130.html

相关文章:

  • 零日漏洞被谷歌的 AI 工具发现
  • 【ChatGPT】如何通过逐步提示提高ChatGPT的细节描写
  • rabbitMq怎么保证消息不丢失?消费者没有接收到消息怎么处理
  • Java 代理模式详解
  • Docker与Cgroups资源控制实战
  • 编译google protobuf项目,生成相应语言的dll文件
  • windows 进程降权和提权代码示例(2) c++
  • Redis设计与实现 学习笔记 第十六章 Sentinel
  • 重构代码之参数化方法
  • 法语je vais bien
  • Linux(CentOS)运行 jar 包
  • Java入门14——动态绑定(含多态)
  • C# String系列(3):StringBuilder有诸多优势,它能代替String吗?
  • 信息安全工程师(80)网络安全测评技术与工具
  • YOLOv11融合IncepitonNeXt[CVPR2024]及相关改进思路
  • STM32学习之I2C的简介与学习
  • 蓝牙 SPP 协议详解及 Android 实现
  • 基于STM32的贪吃蛇游戏教学
  • 在JS中, 0 == [0] 吗
  • 【Golang】区块链练习(一)
  • 西门子KTP系列HMI用户自定义弹窗-多弹窗共用
  • Linux学习笔记之时间日期和查找和解压缩指令
  • RocketMQ 自动注入消费者
  • python-23-一篇文章帮你理解Python推导式
  • 【大模型】通过Crew AI 公司的崛起之路学习 AI Agents 的用法
  • 加入鲲鹏社区,领取精美礼品!