`
qq_24665727
  • 浏览: 122064 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

快速排序算法

阅读更多



 

 

 图是借的别人的,他的排序是以右边第一个为基数,而我下面的程序是以左边第一个作为开始时候的基数。不过效果一样。

//快速排序
#include <iostream>
using namespace std;
#define n 10
int Division(int a[],int left,int right){//分割函数
    int base=a[left];  //取左侧元素为基准元素
    while(left<right){
        while(left<right&&a[right]>base) //从右向左找第一个比基准小的元素
            --right;
        a[left]=a[right];//将比基数小的数移到左边
        while(left<right&&a[left]<base)////从左向右找第一个比基准大的元素
            ++left;
        a[right]=a[left];//将比基数大的数移到右边
    }

    a[left]=base;
    return left;

}
//快速排序
void QuickSort(int a[],int left,int right){
    int i,j;
    if(left<right){ //左侧序号小于右边的序号
        i=Division(a,left,right); //分割
        QuickSort(a,left,i-1);//左侧进行递归调用
        QuickSort(a,i+1,right);//右侧进行递归调用
    }

}

int main()
{
    int i,a[n];
    for(i=0;i<n;i++){  //输入数组(或者自己写随机生成函数)
        cin>>a[i];
    }

    QuickSort(a,0,n-1);//调用快速排序方法
    cout<<"排序后:"<<endl;
   for(i=0;i<n;i++){  //输出排序完成的结果
        cout<<a[i]<<" ";
    }

    return 0;
}

 

初入算法!

  • 大小: 284.1 KB
  • 大小: 126 KB
  • 大小: 169.2 KB
2
4
分享到:
评论

相关推荐

    Python实现快速排序算法

    用python实现经典的快速排序算法,运用递归和分治思想实现,代码简洁高效,易于理解。

    C语言实现快速排序算法

    "C语言实现快速排序算法" 快速排序算法是由C. A. R. Hoare在1962年提出的一种高效的排序算法。该算法采用了分治策略,将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,...

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

    在本文中,我们将深入探讨基于FPGA的并行快速排序算法,特别关注“位宽可设”的特性。这种算法能够高效地处理大量数据,并且在硬件实现上具有很高的灵活性。我们将从以下几个方面来阐述这个主题: 一、快速排序算法...

    快速排序算法快速排序算法PDF

    快速排序 快速排序(Quicksort)是对冒泡排序的一种改进。由C.A.R.Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按...

    快速排序算法示例.rar

    快速排序算法自1960年由英国计算机科学家托尼·霍尔提出以来,已成为排序算法中的一种经典。该算法以其高效的排序速度和简洁的实现原理,广泛应用于各类数据处理和计算机科学领域。为了深入理解快速排序算法,本文将...

    快速排序算法实现.docx

    快速排序算法实现 快速排序算法是一种高效的排序算法,基于 Divide and Conquer 策略,通过选择一个基准元素,partition数组,使得左侧元素小于基准,右侧元素大于基准,然后递归地对左侧和右侧元素进行排序。 ...

    快速排序算法python.rar

    以下是一个简单的Python快速排序算法示例: ```python def quick_sort(arr): if len(arr) return arr pivot = arr[len(arr) // 2] left = [x for x in arr if x ] middle = [x for x in arr if x == pivot] ...

    最快速看懂快速排序算法

    快速排序算法通过多次比较和交换来实现排序,其排序流程如下: 1、首先设定一个分界值,通过该分界值将数组分成左右两部分。 2、将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时...

    指针在快速排序算法中的关键作用

    指针在快速排序算法中发挥着至关重要的作用。它们不仅帮助我们高效地进行数组的分区操作,还使得算法能够以递归的方式优雅地处理子数组。快速排序的效率和性能在很大程度上依赖于指针的正确使用和管理。 本文详细...

    算法设计与分析快速排序算法

    算法的学习,分治

    java实现快速排序算法

    quickSort 方法实现了快速排序算法。通过选取一个基准值,将数组划分为左右两个子数组,并递归调用快速排序对子数组进行排序。在 partition 方法中,我们选择最右边的元素作为基准值,然后使用双指针进行比较和交换...

    c语言 数据结构 快速排序算法

    c语言版本的数据结构的快速排序算法,适用于新手学习

    分别使用Java和Python实现快速排序算法.zip

    快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法....

    c语言实现快速排序算法

    c语言实现快速排序算法

    快速排序算法代码分治法

    这个代码是利用快速排序算法,求第K大的数。 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后...

    Java 快速排序算法

    Java 快速排序,目前来说效率很高的一种排序算法,好理解。

    快速排序算法C语言实现与优化.pdf

    ### 快速排序算法C语言实现与优化 #### 一、快速排序算法的基本原理 快速排序算法是一种基于分治策略的高效排序算法。其基本思想是通过一趟排序将待排序的记录分隔成独立的两部分,其中一部分的所有记录比另一部分...

Global site tag (gtag.js) - Google Analytics