lintcode-464-整数排序 II
464-整数排序 II
给一组整数,按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的排序算法。
样例
给出 [3, 2, 1, 4, 5], 排序后的结果为 [1, 2, 3, 4, 5]。
标签
排序 快速排序 归并排序
思路
使用快速排序
code
class Solution {
public:
    /**
     * @param A an integer array
     * @return void
     */
    void sortIntegers2(vector<int>& A) {
        // Write your code here
        int size = A.size();
        if (size <= 1) {
            return;
        }
        quitSort(A, 0, size - 1);
    }
    void quitSort(vector<int> &A, int left, int right) {
        if (left < right) {
            int i = left, j = right, x = A[i];
            while (i < j) {
                while (i < j && A[j] >= x) {
                    j--;
                }
                if (i < j) {
                    A[i] = A[j];
                    i++;
                }
                while (i < j && A[i] < x) {
                    i++;
                }
                if (i < j) {
                    A[j] = A[i];
                    j--;
                }
            }
            A[i] = x;
            quitSort(A, left, i - 1);
            quitSort(A, i + 1, right);
        }
    }
};
lintcode-464-整数排序 II的更多相关文章
- LinkCode 整数排序II
		http://www.lintcode.com/zh-cn/problem/sort-integers-ii/ 题目 给一组整数,按照升序排序.使用归并排序,快速排序,堆排序或者任何其他 O(n lo ... 
- lintcode:整数排序||
		题目 给一组整数,按照升序排序.使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的排序算法. 解题 归并排序 public class Solution { /** * @param ... 
- bitmap对海量无重复的整数排序--转
		原文地址:http://blog.csdn.net/u013074465/article/details/46956295 现在有n个无重复的正整数(n 小于10的7次方),如果内存限制在1.5M以内 ... 
- 考查SQLite 3索引对整数排序的性能影响
		做个实验,想了解SQLite3索引对整数排序的性能影响. 用这个测试表,考查绿色那列: id name date 自增型主键 字符串型,随机生成 整数型 随机生成,范围0到54354354 1 bMz ... 
- C语言:10个整数排序(别忘了负数)
		题目内容: 10个整数排序(别忘了负数) 例如 input 1 0 2 0 3 4 1 9 8 7 output 0 0 1 1 2 3 4 7 8 9 编码: void sort(int *a); ... 
- lintcode-507-摆动排序 II
		507-摆动排序 II 给你一个数组nums,将它重排列如下形式 nums[0] < nums[1] > nums[2] < nums[3].... 注意事项 你可以认为每个输入都有 ... 
- Leetcode 324.摆动排序II
		摆动排序II 给定一个无序的数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]... 的顺序. 示例 1: 输入: nums ... 
- YTU 2427: C语言习题 整数排序
		2427: C语言习题 整数排序 时间限制: 1 Sec 内存限制: 128 MB 提交: 391 解决: 282 题目描述 用指向指针的指针的方法对n个整数排序并输出.要求将排序单独写成一个函数 ... 
- 九度oj 题目1190:大整数排序
		题目1190:大整数排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4142 解决:1867 题目描述: 对N个长度最长可达到1000的数进行排序. 输入: 输入第一行为一个整数N,( ... 
随机推荐
- [Doctrine Migrations] 数据库迁移组件的深入解析四:集成diff方式迁移组件
			场景及优势 熟悉Symfony框架之后,深刻感受到框架集成的ORM组件Doctrine2的强大之处,其中附带的数据迁移也十分方便.Doctrine2是使用Doctrine DBAL组件把代码里面的表结 ... 
- 一图看懂Spring获取对象与java new对象区别
			Spring获取对象与java new对象的区别,图片被压缩了,请点击图片放大查看 
- hive表查询中文显示乱码
			hive在查询表信息时,中文显示乱码,数字或者url显现null问题解决思路. 1.确定create hive表时指定的row format delimited fields terminated b ... 
- STM32 HAL库学习系列第5篇 定时器TIM---编码器接口模式配置
			cube基本配置,外设开启编码器,串口2 可能大家在设置的时候有这个错误 错误:error: #20: identifier "TIM_ICPOLARITY_BOTHEDGE" ... 
- django中的F和Q
			F查询 Django 提供 F() 来做这样的比较.F() 的实例可以在查询中引用字段,来比较同一个 model 实例中两个不同字段的值. 查询书id大于\小于价格的书籍 models.Book.ob ... 
- 批处理之 for /f 中的delims和tokens
			0x00 前言 今天在对windows进行提权之前的系统信息收集的时候,需要使用到一条批处理语句把特定部分的内容从一个txt的文本当中提取出来:该条语句是如下: for /f "tokens ... 
- Go 学习之路:异常处理defer,panic,recover
			Go没有像Java那样的异常机制,它不能抛出异常.因为设计者们认为,将异常与控制结构混在一起容易使得代码变得混乱.于是乎引入Exception处理: defer,panic,recover; 简单描述 ... 
- 20155338 《JAVA程序设计》实验五网络编程与安全实验报告
			20155338 <JAVA程序设计>实验五网络编程安全实验报告 实验内容 实验一: •两人一组结对编程: •结对实现中缀表达式转后缀表达式的功能 MyBC.java •结对实现从上面功能 ... 
- 带箭头的输入框(div+CSS设置滚动条)
			div.textarea等,都可是设置有滚动条: y轴滚动条:overflow-Y:scroll x轴滚动条:overflow-X:scroll <textarea class="ms ... 
- 使用iChecker的注意事项
			1. 要先引用jquery 2. ichecker分好多主题,每个主题带好几种颜色,在配置的时候最好指定一下. 比如引入了square主题的blue颜色演示,配置项中checkboxClass就写ic ... 
