`
fyc92
  • 浏览: 2054 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

排序算法-快速排序

阅读更多
public static void quick_sort(int[] a, int begin, int end){
		int start = 0;
		if (begin < end) {
			start = a[begin];
			int low = begin;
			int high = end;
			while(low < high){
				while(low < high && a[high] > start){
					high --;
				}
				a[low] = a[high];
				while(low < high && a[low] <= start){
					low ++;
				}
				a[high] = a[low];
			}
			a[low] = start;
			TIMES ++;
			quick_sort(a, begin, low - 1);
			quick_sort(a, low + 1, end);
		}
	}

public static int TIMES = 0;

public static void main(String[] args) {
		// TODO Auto-generated method stub    
		int a[] = {21,30,2,5,8,12,44,55,63,63,65};
		
		TIMES = 0;
        quick_sort(a, 0, a.length - 1);
		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i]+",");
		}
		System.out.println("Quick Sort times : "+TIMES);
	}
分享到:
评论

相关推荐

    详解Java常用排序算法-快速排序

    快速排序(Quick Sort)是一种分治思想的排序算法,它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后再分别对这两部分记录继续进行排序,以达到...

    Python中高效排序算法-快速排序的不同实现

    内容概要:文章详细介绍了快速排序的基本原理以及在Python环境下的三种具体实现方式,包括基于列表推导式的递归实现、原地排序以及面向对象的方法,旨在帮助读者深入理解并灵活应用此高效的排序算法。 适用人群:对...

    经典算法的C#源码实现

    经典排序算法 - 快速排序Quick sort 经典排序算法 - 桶排序Bucket sort 经典排序算法 - 插入排序Insertion sort 经典排序算法 - 基数排序Radix sort 经典排序算法 - 鸽巢排序Pigeonhole sort 经典排序算法 - ...

    FPGA并行快速排序算法-位宽可设

    快速排序是一种高效的排序算法,由C.A.R. Hoare在1960年提出。它的基本思想是通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据都要小,然后再按此方法对这两部分数据分别...

    最快的排序算法 计算机最快的算法-史上14个最快速算法:孩子的计算能力爆表!大脑堪比计算机!...,排序算法数据结构

    快速排序算法是一种高效的排序算法,它的工作原理是通过选择一个元素作为pivot,然后将数组分为两个部分,以达到排序的目的。快速排序算法的时间复杂度为O(n log n),因此它适合大规模的数据排序。 5.归并排序算法 ...

    java排序算法-大全.rar

    在编程领域,排序算法是计算机科学中的核心概念,特别是在Java这样的高级编程语言中。这个名为"java排序算法-大全.rar"的压缩包文件显然包含了多种Java实现的排序算法,这对于我们理解和掌握这些算法至关重要。 ...

    c语言链表的排序算法-排序链表最快的算法是什么?.pdf

    我们将比较不同的排序算法,包括合并排序和快速排序,并分析它们在链表中的性能。 首先,让我们讨论链表排序算法的挑战。链表的节点分布在内存中,可能会导致缓存未命中的情况,这会严重影响排序算法的性能。为了...

    排序算法 - 算法刷题 -算法资源

    常见的排序算法包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序、希尔排序等。每种算法都有其特点和适用的场合: 1. 冒泡排序:通过不断交换相邻的元素,使得较大的元素像气泡一样逐渐浮到顶端。这...

    数字排序 - 排序算法 - 排序

    比较排序算法通过比较两个元素的大小来决定它们的顺序,典型的比较排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序和堆排序等。非比较排序则是通过直接计算出元素最终的位置来进行排序,如计数排序、...

    排序算法--免费

    本文将深入探讨标题和描述中提到的一些基本排序算法,包括选择排序、冒泡排序、插入排序、希尔排序、堆排序、快速排序以及归并排序,并结合C++编程语言进行讲解。 1. **选择排序(Selection Sort)** - 选择排序是一...

    排序算法 - Axb的自我修养1

    【排序算法概述】 排序算法是计算机科学中至关重要的一部分,它涉及到如何有效地重新排列一组数据,使其按照特定标准(如升序或降序)排列。排序算法的效率对程序的性能有着显著影响,尤其是在处理大量数据时。虽然...

    最快的排序算法 谁才是最强的排序算法:快速排序-归并排序-堆排序,排序算法数据结构

    本文将对快速排序、归并排序、堆排序等常见排序算法进行比较和分析,探讨它们的优缺点和适用场景。 首先, let's 看一下这些排序算法的时间复杂度和空间复杂度: | 排序算法 | 平均情况 | 最好情况 | 最坏情况 | ...

    C语言算法-快速排序法

    C语言算法--快速排序法

    《数据结构与算法》-李春葆 实验报告-典型排序算法实践-快速排序

    数据结构与算法 - 快速排序算法实现报告 在数据结构与算法的学习过程中,快速排序算法是一种重要的排序算法,它具有排序速度快、就地排序的优点,但也具有不稳定性。以下是快速排序算法的详细实现报告。 快速排序...

    排序算法-SortingAlgorithm-java.zip

    5. 快速排序 Quick Sort:快速排序也是一种分治法的排序算法。它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以...

    详解Java常用排序算法-插入排序

    因此,插入排序算法适用于小型列表或需要快速排序的场景,而不适用于大型列表或需要高效排序的场景。 在实际应用中,插入排序算法可以用于: * 排序小型列表 * 需要快速排序的场景 * 教学和研究目的 插入排序算法...

    算法-数据结构和算法-13-快速排序.rar

    快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它的基本思想是分治法(Divide and Conquer),通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的...

    算法设计与分析-1排序算法性能分析-冒泡/选择/插入/合并/快速排序-pre ppt

    本篇文章将详细讨论几种常见的排序算法:选择排序、冒泡排序、插入排序、合并排序以及快速排序,分析它们的算法原理、时间效率,并通过经验分析验证理论分析的准确性。 **1. 选择排序(Selection Sort)** 选择排序...

    排序算法-python

    快速排序(Quick Sort)是一种分而治之的排序算法,它的基本思想是选择一个基准元素,通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两...

    数据结构--九种排序算法 --排序001.cpp

    此文件为数据结构中的九种排序算法,包含一些排序方法的过程,其九种排序包括:直接插入排序,折半插入排序,希尔排序,冒泡排序,快速排序,选择排序,堆排序,归并排序,基数排序!

Global site tag (gtag.js) - Google Analytics