快速排序:是冒泡排序的改进。
基本思想:通过一趟排序把整个序列分为两部分,一部分的所有数比另一部分的所有数都小,再递归的处理这两部分,直到排好序。
实例:
上面是一趟排序后的结果,275,087,154,061,426,170都要小于503. 相同897,653,908,512,612,677,765,703都大于503;接到对275,087,154,061,426,170;897,653,908,512,612,677,765,703两部分进行相同的操作。
具体实现:
1)设置两个变量I、J,排序开始的时候:I=0,J=N-1;
2)以第一个数组元素作为关键数据,赋值给key,即 key=A[0];
3)从J开始向前搜索,即由后开始向前搜索(J=J-1),找到第一个小于key的值A[J],并与A[I]交换;
4)从I开始向后搜索,即由前开始向后搜索(I=I+1),找到第一个大于key的A[I],与A[J]交换;
5)重复第3、4、5步,直到 I=J; (3,4步是在程序中没找到时候j=j-1,i=i+1,直至找到为止。找到并交换的时候i, j指针位置不变。另外当i=j这过程一定正好是i+或j+完成的最后另循环结束)
代码实现:
void QuickSort(SeqList R,int low,int high)
{ //对R[low..high]快速排序
int pivotpos; //划分后的基准记录的位置
if(low<high){//仅当区间长度大于1时才须排序
pivotpos=Partition(R,low,high); //对R[low..high]做划分
QuickSort(R,low,pivotpos-1); //对左区间递归排序
QuickSort(R,pivotpos+1,high); //对右区间递归排序
}
}
分享到:
相关推荐
《计算机程序设计艺术》是计算机科学领域的一部经典著作,由世界著名计算机科学家Donald E. Knuth撰写。这套书深入探讨了程序设计的各种方法和技术,包括基础算法、半数值算法和排序与查找算法,对全球程序员和...
《计算机程序设计艺术》是计算机科学领域的一部经典著作,由美国计算机科学家唐·艾伦·高德纳(Donald Ervin Knuth)撰写。这部多卷本巨著深入探讨了算法设计、分析以及编程语言的设计原理,对于理解计算机科学的...
《计算机程序设计艺术》是计算机科学领域的一部经典著作,由世界著名的计算机科学家Donald E. Knuth撰写。这套书深入探讨了程序设计的各种方法和技术,是程序员和计算机科学家的宝贵资源。以下是各卷的主要内容: 1...
《计算机程序设计艺术》是一套深受程序员和计算机科学爱好者推崇的经典著作,由计算机科学家Donald E. Knuth撰写。这套书籍分为四卷,每卷都涵盖了不同的主题,旨在深入探讨算法和程序设计的核心概念。其中: 第一...
根据提供的文件信息,“计算机程序设计艺术(第二卷).pdf”,我们可以推断出这份文档主要涉及计算机程序设计领域的深入探讨和技术细节。然而,由于提供的内容非常有限,我们将基于标题、描述以及部分可见的信息来...
《计算机程序设计艺术》是计算机科学领域的一部经典著作,由美国计算机科学家Donald E. Knuth撰写。这套书籍涵盖了程序设计、算法分析以及计算理论等多个方面的深度内容,对程序员、软件工程师以及计算机科学学者...
《计算机程序设计艺术》是计算机科学领域的一部经典著作,由著名计算机科学家Donald Knuth撰写。这本书的第3卷专门探讨了排序与查找这两个核心的算法主题,它们是编程和数据处理的基础。在本卷中,Knuth深入剖析了...
《计算机程序设计艺术》是计算机科学领域的一部经典著作,由美国计算机科学家Donald Knuth撰写。这套书共计三卷,深入探讨了算法和程序设计的精髓,为读者提供了丰富的理论基础和实践经验。每一卷都包含了大量精心...
《计算机程序设计艺术》是计算机科学领域的一部经典著作,由著名计算机科学家Donald Knuth撰写。这套书系统地探讨了程序设计的理论和实践,涵盖了从基础算法到复杂数据结构的广泛主题,对于深入理解计算机科学的核心...
《计算机程序设计艺术》是计算机科学领域的一部经典著作,由世界知名计算机科学家Donald E. Knuth撰写。这本书全面深入地探讨了程序设计的原则、方法和技术,旨在提高程序员的技能和对计算机系统的理解。卷1-4合集...
《计算机程序设计艺术》是由美国计算机科学家Donald Knuth所著的一套经典计算机科学丛书,它在IT领域享有极高的声誉,被众多专业人士视为必读之作,包括比尔·盖茨在内的许多技术大牛都曾给予高度评价。这套书籍深入...
《计算机程序设计艺术》是计算机科学领域的一部经典著作,由Donald E. Knuth撰写。这部巨著分为多卷,每一卷深入探讨了程序设计的各个方面。本问题中提到的是第3卷,虽然描述中提到了第2卷,但我们的焦点在于第3卷的...
但是,从标题“计算机程序设计艺术 第1卷.pdf”和标签“计算机 编程”可以推测,这本电子书可能是关于计算机程序设计的基础知识和方法论的介绍。 《计算机程序设计艺术》是由Donald E. Knuth所著的一系列书籍,这些...
《计算机程序设计艺术》是由计算机科学巨匠Donald E. Knuth所著的一部经典之作,全书分为七卷,但目前公开的只有前三卷。这部作品深入探讨了计算机编程的各个方面,是程序员和计算机科学家的重要参考文献。在这里,...
《计算机程序设计艺术》是计算机科学领域的一部经典著作,由世界著名的计算机科学家Donald E. Knuth撰写。这本书深入探讨了程序设计的原则、方法和技术,是程序员和计算机科学家的宝贵资源。中文版的出版使得更多...
《计算机程序设计艺术》是计算机科学领域的一部经典著作,由著名计算机科学家Donald Knuth撰写。这本书深入探讨了算法和程序设计的高级技术,旨在提高软件开发者的技艺和理解。中文版的出版使得更多的中国读者能够...
- **书名**:《计算机程序设计艺术 第3卷 排序与查找》 - **作者**:唐纳德·E·克努特 (Donald E. Knuth) - **版本**:中文第二版 - **内容**:该书是克努特《计算机程序设计艺术》系列的一部分,专注于排序和查找...
《计算机程序设计艺术》是计算机科学领域的一部经典著作,由美国计算机科学家Donald E. Knuth撰写。这套书籍共分为七卷,详细探讨了程序设计的各个方面,包括基础算法、数据结构、数值计算、字符串处理、图形算法...