快速排序算法是诸多排序算法中性能较优的一种,也是很多内建排序类型所采用的算法。该算法在.NET面试和笔试中经常被考查到,下面将详细介绍快速排序的算法思想及代码示例。
分类:
编程语言 时间:
2014-12-17 09:05:23
阅读次数:
151
/* date:2014.12.14
快速排序思路:和冒泡排序相似,基于比较和交换来实现排序,改进后效率高了。
流程:1).首先设置一个分界值,通过该值将数组分成左右两部分,左边序列小于等于它,右边序列大于等于它;
2).对于左边和右边的序列,分别执行(1)操作;
3).重复(2),相当于递归,直到有序。
时间复杂度:最差O(n^2),平均O(nlogn)...
分类:
编程语言 时间:
2014-12-15 21:50:30
阅读次数:
233
算法思想:采用分治法,首先确定一个元素作为参照,将所有比其小的元素都放到其左边,将所有比其大的元素都放到其右边,一趟快速排序,确定参照元素的最终位置,然后对最终位置两边的分别再采用如上做法,不断递归,最后排序完成。代码:$temp) $high--; ...
分类:
编程语言 时间:
2014-12-09 19:16:04
阅读次数:
186
百度百科:http://baike.baidu.com/view/19016.htmC# 测试代码:private static void Main(string[] args) { int[] data = new int[10]; Ran...
分类:
编程语言 时间:
2014-12-09 15:15:54
阅读次数:
255
内嵌汇编是微软为了提高程序的优化能力而嵌入在VC中的,这意味着你如果在C/C++程序中使用了 inline asm进行 汇编 那么 就注定无法跨平台的,对于没有汇编基础的同学是需要去学习下 的,因为有些时候C++程序员是不得不懂这些东西的 。
内嵌汇编 在C/C++中 通过
_asm
{
...
}
_asm ....
引入汇编代码,可以使程序自陷入汇编状态,MMX汇编指令被...
分类:
编程语言 时间:
2014-12-08 19:39:06
阅读次数:
285
快速排序算法快速排序一直是各大IT公司面试上机题的常考题目,如何破解一直很困惑,或者说一直忘记。下面用一种简单而且形象的描素来解决战斗。该思想是基于填坑法和分治法的思想。下面先写算法:填坑法:head,tail,key(1) set key=A[head],so A[head] is the fir...
分类:
编程语言 时间:
2014-12-07 12:28:00
阅读次数:
175
快速排序:冒泡排序的一种改进排序方法
基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,
然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列 。
“快速排序法”使用的是递归原理,下面我结合一个例子来说明“快速排序法”的原理。首先给出一个数组
{53,12,98,63,...
分类:
编程语言 时间:
2014-12-03 15:47:29
阅读次数:
227
快速排序算法:// QuickSort.cpp : 定义控制台应用程序的入口点。//#includeusing namespace std;template void QSort(T* a, int n){ if (n a[1]) swap(a[0], a[1]); ...
分类:
编程语言 时间:
2014-11-25 23:03:09
阅读次数:
194
/* 说明: 代码参考过网上代码,但分析为个人原创,本贴重在说明快速排序算法的思想和运行过程。 */ 代码部分: #include #include void quickSort(int* arr,int startPos, int endPos) { int i, j; int key; ...
分类:
编程语言 时间:
2014-11-18 00:22:40
阅读次数:
290