C++、delphi、python Quick_Sort实现
2016-10-18 00:54
295 查看
快速排序是由东尼.霍尔所发展的一种排序算法。在平均状况下,排序N个项目要O(nlogn)次比较。在最坏的情况下则需要O(n^2)次比较,但这种情况并不常见。事实上,快速算法明显比其他
快速算法三个基本条件:
1、确定一个基数。
2、以基数为准,重新排序,大于基数在右,小于在左。
3、递归1、2步骤。
当然,写这个三个是为什么呢,主要是在这个三个写法中,基本原理都是一样的,但是可能会出现不同的结果,当然,应该是没有结果,算法,如何失败,大约就是崩溃了。
C++和python基本都是一样的,能成功就能成功,不能成功就会直接报错,然后根据这个原理,我直接写delphi程序,就出现一个问题。那就是中间值修正问题。
我用的是两个接口,一个是查找中间值,一个是递归实现。
但是我发现,C++和python都是可以不使用临时变量就可以实现,但是delphi你必须创建临时变量。
快速算法三个基本条件:
1、确定一个基数。
2、以基数为准,重新排序,大于基数在右,小于在左。
3、递归1、2步骤。
当然,写这个三个是为什么呢,主要是在这个三个写法中,基本原理都是一样的,但是可能会出现不同的结果,当然,应该是没有结果,算法,如何失败,大约就是崩溃了。
C++和python基本都是一样的,能成功就能成功,不能成功就会直接报错,然后根据这个原理,我直接写delphi程序,就出现一个问题。那就是中间值修正问题。
我用的是两个接口,一个是查找中间值,一个是递归实现。
但是我发现,C++和python都是可以不使用临时变量就可以实现,但是delphi你必须创建临时变量。
相关文章推荐
- Delphi中实现C++/Java类似静态变量的功能
- 在Delphi与C++之间实现函数与对象共享
- C/C++实现如下 根据Merge Sort原理, 自己实现的归并排序算法+详细注释+代码(C#,C/C++)
- Delphi中实现C++/Java类似静态变量的功能
- 插入排序法(InsertSort)c++实现
- 在Delphi与C++之间实现函数与对象共享
- c++&&python实现Hadoop Streaming的partitioner和模块化
- CERL: PHP或Python调用C++实现的服务器
- 使用SWIG实现C++导出python接口的配置
- Boost.Python实现C++与Python互调用
- 使用SWIG实现C++扩展Python
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(5)欧几里得算法欧几里得算法求最大公约数
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(1) f(x) = 2f(x-1) + x^2
- CERL: PHP或Python调用C++实现的服务器
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(6)高效率的幂运算
- C++Builder/Delphi中透明Panel及透明窗口的实现方法
- 在Delphi与C++之间实现函数与对象共享
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(2) IntCell类
- MergeSort-归并排序(C++实现)
- quick switch sort with C++