您的位置:首页 > 教育 > 培训 > 厦门app制作_成都制作网页公司_seo最新快速排名_品牌策划方案ppt

厦门app制作_成都制作网页公司_seo最新快速排名_品牌策划方案ppt

2025/6/11 5:29:33 来源:https://blog.csdn.net/qq_21419015/article/details/143609476  浏览:    关键词:厦门app制作_成都制作网页公司_seo最新快速排名_品牌策划方案ppt
厦门app制作_成都制作网页公司_seo最新快速排名_品牌策划方案ppt

文章目录

  • 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--;}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com