题目:借鉴快速排序的思想,实现算法将整型数组a[0...n]分成两块,使得第一块元素均大于等于0,第二块的元素均小于0,要求算法原地工作且时间复杂度为O(n)

完整代码实现:

#include<iostream>
using namespace std;void blocks(int*  a, int n)
{int low = 0, high = n - 1, tmp = 0;while (low<=high){if (a[high] >= 0 ){if (a[low] < 0){tmp = a[high];a[high] = a[low];a[low] = tmp;}low++;}else{high--;}}
}int main()
{int arr[10] = { 1,0,-3,-5,7,8,2,-4,9,4 };blocks(arr, 10);//调用函数for (int i = 0; i < 10; i++){printf("%d\n", arr[i]);}system("pause");return 0;
}

运行结果:

借鉴快速排序的思想,实现算法将整型数组a[0...n]分成两块,使得第一块元素均大于等于0,第二块的元素均小于0,要求算法原地工作且时间复杂度为O(n)相关推荐

  1. 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)

    输入一个整型数组,数组里有正数也有负数.数组中的一个或连续多个整数组成一个子数组.求所有子数组的和的最大值.要求时间复杂度为O(n).(奇安信-wab前端) 例如,输入的数组为{ 1.-2.3.10. ...

  2. C语言-输入任意多个数字,存到整型数组,支持任意间隔符,同时支持输入字母存到字符数组中

    第一次在CSDN上写博客- 记录一下想了有那么久的,这串代码 起因是做应用密码学的作业时,有Vigenere密码的加密解密.仿射密码加密解密.Playfair算法.Hill密码 因为数据量比较大,要把 ...

  3. 奇偶数分离c语言,如何把一个整型数组中,奇数偶数进行分离 怎么使数组进行奇偶奇偶相间排序...

    导航:网站首页 > 如何把一个整型数组中,奇数偶数进行分离 怎么使数组进行奇偶奇偶相间排序 如何把一个整型数组中,奇数偶数进行分离 怎么使数组进行奇偶奇偶相间排序 相关问题: 匿名网友: imp ...

  4. 关于《输入一个字符串,内有数字和非数int字符,如a123x456,将其中连续的数作为一个整数,依次存放到整型数组a中》的一点看法

    最近刚刚学习了C基础这门课程,作到了这个习题,这个题目要求将字符串中的数字作为整数存放到整型数组中,这个题目有一个特点就是字符串中除了有数字还有非数int字符.看完题目,我顿时来了兴趣. 在一开始我选 ...

  5. C语言学习之通过指针变量输出整型数组a的10个元素

    通过指针变量输出整型数组a的10个元素 int main(){int a[10],i,*p=a;//p的初值是a,p指向a[0] for(i=0;i<10;i++){scanf("%d ...

  6. TreeSet,Hashset,Set集合转为整型数组

    TreeSet,Hashset,Set集合转为整型数组     [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/509906 ...

  7. Java将五个整数存入整形数组_异常处理:从命令行输入5个整数,放入一整型数组,然后打印输出。。。...

    从命令行输入5个整数,放入一整型数组,然后打印输出.要求: 如果输入数据不为整数,要捕获输入不匹配异常,显示"请输入整数":如果输入数据多余5个,捕获数组越界异常,显示" ...

  8. 定义整型数组_C++数组的定义与初始化(学习笔记:第6章 01)

    数组的定义与使用[1] 数组是具有一定顺序关系的若干相同类型变量的集合体,组成数组的变量称为该数组的元素. 数组的定义 方括号里面列出的常量表达式是数组每一维的下标个数.数组的下标不管从哪一维它都是从 ...

  9. 2014年去哪儿网笔试题--给定一个整型数组,对这个整型素组排序,使得按序拼接数组各元素得到的值最小

    2014年去哪儿网笔试题--给定一个整型数组,对这个整型素组排序,使得按序拼接数组各元素得到的值最小. 我的大致思路是把这个整型数组转换成String数组,然后通过String类的compareTo方 ...

最新文章

  1. gnupg环境搭建时遇到的问题
  2. Log4j2异步日志背后的数字
  3. Nim 游戏 、⽯头游戏1、石头游戏2
  4. ROS2学习(十一).ROS概念 - 命令行工具的使用
  5. NET问答: 如何实现读写 file 的时候不用锁模式 ?
  6. linux java jar打包_【Java】Java程序打包成jar包在Linux上运行
  7. servlet和jsp学习总结
  8. 2017.5.2AM
  9. mysql _bin编码_mysql中utf8_bin、utf8_general_ci、utf8_general_cs编码区别
  10. php7安装redis扩展和memcache扩展
  11. RequestsLibrary库入门介绍
  12. 推荐几款网页幻灯片js库
  13. 微信公众号H5合成图片长按下载
  14. 【presto】函数大全
  15. 请你相信心有多大,舞台就会有多大
  16. 计算机桌面图标变大,电脑桌面图标变大了怎么恢复?
  17. 分贝、电平、增益、音高、音分、声能、声强、声压...
  18. 1.1 项目经理是干什么的
  19. Python 阴阳师/pillow-窗口截屏/opencv-图像识别/pyaotugui-点击/pyqt5-UI界面设计/pyqt5-窗口绘制
  20. Android 如何获取传感器的数据

热门文章

  1. 什么是哈希(Hsah)算法,哈希算法的作用以及Java中常见的哈希算法的使用案例。
  2. ubuntu输入密码后黑屏的解决方法
  3. 用C++解线性规划问题
  4. 无法从jinja2 引入 evalcontextfilter, Markup, escape
  5. 看完这篇 教你玩转渗透测试靶机vulnhub——FunBox9(GaoKao)
  6. 金山词霸 2007 龙卷风版 V1.3 简体中文免激活版[已整合SP1升级包] 支持win7
  7. Linux源码目录结构和Linux文件系统目录结构
  8. 有没有精神病,和这个模型聊聊就能确认
  9. 关于在Android中使用CMake你所需要了解的一切(三)
  10. 关于jdbc中executeUpdate()的错误