昨晚复习了一下丢了好久的《数据结构》。
复习了一下快速排序,写了几遍发现是错的,最后发现教科书的例子就是错误的…………倒!难怪中国的计算机发展不上去!!!
贴出代码吧,就当备忘录:
void QuickSort(int Data[], int Start, int End) { assert(NULL != Data); assert(Start>=0); assert(Start<=End); int i = Start; int j = End + 1; int Key = Data[Start]; int temp; do { do { i++; } while(Data[i]<Key && i<j); do { j--; } while(Data[j]>Key && i<j); if (i<j) { temp = Data[i]; Data[i] = Data[j]; Data[j] = temp; } } while(i<j); Data[Start] = Data[j]; Data[j] = Key; if (Start<j-1) { QuickSort(Data, Start, j-1); } if (End > j+1) { QuickSort(Data, j+1, End); } } |
分享到:
相关推荐
"快速排序算法java代码" 快速排序算法是由Tony Hoare在1960年提出的一种排序算法,它的平均时间复杂度为O(n log n),是目前最快的排序算法之一。下面我们将详细地讲解快速排序算法的java代码实现。 快速排序算法的...
在本文中,我们将深入探讨基于FPGA的并行快速排序算法,特别关注“位宽可设”的特性。这种算法能够高效地处理大量数据,并且在硬件实现上具有很高的灵活性。我们将从以下几个方面来阐述这个主题: 一、快速排序算法...
通过上述代码的分析,我们可以看到如何在C#中实现快速排序算法以及如何生成一组无重复的随机数。快速排序作为一种高效的排序算法,在实际应用中非常广泛。通过对代码的理解和实践,开发者可以更好地掌握这种算法的...
快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。...你可以通过学习这段代码来加深对快速排序算法的理解,并能将其应用到自己的项目中。同时,这也是练习阅读和理解他人代码的好机会。
c语言版本的数据结构的快速排序算法,适用于新手学习
快速排序算法C语言实现,快排序算法QuickSort.cpp
快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法....
这个代码是利用快速排序算法,求第K大的数。 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后...
代码 多目标快速非支配排序遗传算法优化代码代码 多目标快速非支配排序遗传算法优化代码代码 多目标快速非支配排序遗传算法优化代码代码 多目标快速非支配排序遗传算法优化代码代码 多目标快速非支配排序遗传算法...
Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术...
(1)直接插入排序算法验证。 (2)快速排序算法验证。 (3)直接选择排序算法验证。 几种简单的排序算法代码
总的来说,这个FPGA并行全排序算法的RTL代码和仿真文件为学习和应用FPGA并行处理提供了宝贵的资源。理解并掌握这种设计方法,将有助于提升在数字系统设计领域的专业技能,尤其是在高速数据处理和实时计算的场景下。
C语言快速排序算法例程代码,快速排序的基本思想是在待排序的序列中选择一个元素作为中间元素,将序列中小于等于中间元素的元素放到左边,大于中间元素的元素放到右边,然后递归地对左右两个子序列进行排序,直到...
采用java语言编写的可扩展快速排序算法。 资源简介: Array.java(数组接口), SortArray.java(Array的实现类,可扩展), SortVector.java(承载Array,并使用快速排序算法对数组进行排序) SortTest.java(测试类...
快速排序算法设计与分析 快速排序(Quicksort)是一种高效的排序算法,由美国计算机科学家Tony Hoare在1960年发明。该算法的时间复杂度平均为O(n log n),在实际应用中非常常用。 一、快速排序算法的基本思想 ...
二叉树建立遍历冒泡排序快速排序算法:C语言编程实现10个数据结构课程设计实例.zip 二叉树建立遍历冒泡排序快速排序算法:C语言编程实现10个数据结构课程设计实例.zip 二叉树建立遍历冒泡排序快速排序算法:C语言...
用Eclipse开发工具写的java,快速排序算法,被排序的数组是写死的,不过使用者可以更改被排序的数组
同时,配合"快速排序.cpp"的源代码,可以进一步分析和调试算法,加深对快速排序逻辑的理解。 快速排序的平均时间复杂度是O(n log n),在最坏情况下,当输入数组已经部分有序时,时间复杂度退化为O(n^2)。不过这种...
C语言写的桶排序算法C语言写的桶排序算法C语言写的桶排序算法