博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第二十七章:不改变正负数之间相对顺序重新排列数组
阅读量:4135 次
发布时间:2019-05-25

本文共 763 字,大约阅读时间需要 2 分钟。

一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的正负数之间相对顺序。
比如: input: 1,7,-5,9,-12,15 ,ans: -5,-12,1,7,9,15 。且要求时间复杂度O(N),空间O(1) 。

没有什么很好的方法

#include 
#include
#include
using namespace std; void sort(int* arr, int length) { if(length < 1 || NULL == arr) { return; } int* p = arr; int* q = arr; int* pos = q; while(p <= arr + length - 1) { if(*p < 0) { swap(*p,*q); pos = q; while(pos < p) { ++pos; swap(*p,*pos); } ++q; } ++p; } } int main() { int arr[]={1,-1,3,4,-3,2,-5,9,-1,8}; sort(arr,10); for_each(arr,arr+10,[](int i){cout<
<

转载地址:http://lbvvi.baihongyu.com/

你可能感兴趣的文章
python __future__
查看>>
MySQL Tricks1
查看>>
python 变量作用域问题(经典坑)
查看>>
pytorch
查看>>
pytorch(三)
查看>>
ubuntu相关
查看>>
C++ 调用json
查看>>
nano中设置脚本开机自启动
查看>>
动态库调动态库
查看>>
Kubernetes集群搭建之CNI-Flanneld部署篇
查看>>
k8s web终端连接工具
查看>>
手绘VS码绘(一):静态图绘制(码绘使用P5.js)
查看>>
手绘VS码绘(二):动态图绘制(码绘使用Processing)
查看>>
基于P5.js的“绘画系统”
查看>>
《达芬奇的人生密码》观后感
查看>>
论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
查看>>
基于“分形”编写的交互应用
查看>>
《融入动画技术的交互应用》主题博文推荐
查看>>
链睿和家乐福合作推出下一代零售业隐私保护技术
查看>>
Unifrax宣布新建SiFAB™生产线
查看>>