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

devtools/2024/11/8 0:12:53/

文章目录

  • 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.ppmy.cn/devtools/132158.html

相关文章

【点击劫持漏洞(附测试代码)】

漏洞描述 点击劫持&#xff08;Clickjacking&#xff09;是一种网络攻击技术&#xff0c;攻击者通过将一个恶意的页面或按钮隐藏在合法网站的页面下&#xff0c;诱使用户在不知情的情况下点击隐藏的内容&#xff0c;从而触发攻击者设计的操作。这种攻击通常会导致用户无意中执…

C++中,`::`、`->` 和 `.`

C中&#xff0c;::、-> 和 . 在C中&#xff0c;::、-> 和 . 是用于访问成员&#xff08;如变量、函数等&#xff09;的不同操作符&#xff0c;它们分别用于不同的场景。以下是它们各自的作用和用法&#xff1a; 双冒号 :: (作用域解析操作符) 用于指定某个标识符&#x…

Android和iOS有什么区别?

Android 和 iOS 有以下区别&#xff1a; 开发者与所属公司&#xff1a; Android&#xff1a;由谷歌公司开发以及开放手机联盟维护。它是基于 Linux 内核和其他开源软件的修改版本&#xff0c;代码开源程度较高&#xff0c;许多厂商都可以基于 Android 源代码进行深度定制和开发…

Redis - String 字符串

一、基本认识 字符串类型是Redis最基础的数据类型&#xff0c;关于字符串需要特别注意&#xff1a; Redis中所有的键的 类型都是字符串类型&#xff0c;⽽且其他⼏种数据结构也都是在字符串类似基础上构建的&#xff0c;例如列表和集合的 元素类型是字符串类型&#xff0c;所…

Vue2 与 Vue3 的区别

Vue.js 作为流行的前端框架&#xff0c;已经经历了多次版本的更新迭代&#xff0c;从 Vue2 到 Vue3 的转变不仅带来了新的功能&#xff0c;也在性能、开发体验等方面作出了显著改进。无论是对于新手还是有经验的开发者&#xff0c;了解这两个版本之间的差异都至关重要。本文将讨…

OpenHarmony 入门——ArkUI 自定义组件间的父子双向同步状态装饰器@Link语法(四)

文章大纲 引言一、组件间状态装饰器Link 父子双向同步1、使用规则2、支持的观察变化的场景和ArkUI 刷新UI3、Link变量值初始化和更新机制3.1、初始渲染&#xff1a;执行父组件的build()函数后将创建子组件的新实例。3.2、Link的数据源的更新&#xff1a;即父组件中状态变量更新…

前沿快报|泛基因组在动植物研究中最新进展

上期&#xff0c;我们对泛基因组的起源发展、分析方法、重点关注研究内容等进行了介绍&#xff08;如何认识泛基因组&#xff1f;从单一到多元&#xff1f;&#xff09;&#xff0c;本期将继续关注泛基因组分析&#xff0c;从研究思路以及分析内容角度出发&#xff0c;小编整理…

Oracle 迁移到 OB 过程中的函数改造案例

作者&#xff1a;杨敬博&#xff0c;爱可生 DBA 团队成员&#xff0c;一位会摄影、会铲屎、会打球、会骑车、生活可以自理的 DBA。 审校及补充&#xff1a;胡呈清&#xff0c;官永强&#xff0c;程柳润。 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff…