C++快速排序

简介: C++快速排序

完整c++代码,以及测试代码,直接拿去用!!!

void quick_sort(int q[], int l, int r);
//函数接口,参数1 数组首地址,参数2 排序数组起始元素,参数3 排序数组结束元素
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 1e5 + 10;
int n, q[N];
void quick_sort(int q[], int l, int r){
  if(l >= r) return; 
  int x = q[(l + r) / 2], i = l - 1, j = r + 1; 
  while(i < j){ //划分区间,使i左边的数均小于x,j右边的数均大于x 
    do ++i; while(q[i] < x);
    do --j; while(q[j] > x);
    if(i < j) swap(q[i], q[j]);
  }
  quick_sort(q, l, j), quick_sort(q, j + 1, r);
}
int main(){
  scanf("%d", &n);
  for(int i = 0; i < n; ++i) scanf("%d", q + i);
  quick_sort(q, 0, n - 1);
  for(int i = 0; i < n; ++i) printf("%d ", q[i]);
  return 0;
}
目录
相关文章
|
2月前
|
搜索推荐 C++
C++快速排序的实现
C++快速排序的实现
|
4月前
|
Java C++
快速排序(c++,java)
快速排序(c++,java)
16 0
|
9月前
|
搜索推荐 C++
C++实现快速排序算法
快速排序算法时最常用的排序算法之一,时间复杂度为O(nlog(n))~O(n^2),最差的时候就是排序的原始数据和要求正好相反,如需要正序的结果,而原始数据恰好是逆序的过程。
120 0
|
5月前
|
搜索推荐 大数据 C++
C++系列案例-大数据减法-绘制余弦曲线-兔子数量-快速排序
C++系列案例-大数据减法-绘制余弦曲线-兔子数量-快速排序
|
8月前
|
算法 搜索推荐 C++
【C++】快速排序的学习和介绍
【C++】快速排序的学习和介绍
67 0
|
存储 人工智能 移动开发
【八大数据排序法】快速排序法的图形理解和案例实现 | C++
排序算法是我们在程序设计中经常见到和使用的一种算法,它主要是将一堆不规则的数据按照递增或递减的方式重新进行排序。在如今的互联网信息时代,随着大数据和人工智能的发展,大型企业的数据库中有亿级的用户数据量。因此对其进行处理,排序算法也就成为了其中必不可缺的步骤之一。
102 0
【八大数据排序法】快速排序法的图形理解和案例实现 | C++
|
C++ Python
LeetCode每日一题题解:912. 排序数组-题解-python && C++源代码-快速排序代码模板
LeetCode每日一题题解:912. 排序数组-题解-python && C++源代码-快速排序代码模板
|
算法 C++
2016年蓝桥杯c/c++ c组第5题 快速排序 双指针
2016年蓝桥杯c/c++ c组第5题 快速排序 双指针
|
存储 算法 搜索推荐
C++实现排序 - 02 归并排序、快速排序和堆排序
今天我们继续来整理平均时间复杂度为 O(nlogn) 的三个排序算法,即归并排序、堆排序和快速排序。
190 0
C++实现排序 - 02 归并排序、快速排序和堆排序
|
Java C++
【快速排序代码】记录:Java & C++
【快速排序代码】记录:Java & C++
104 0
【快速排序代码】记录:Java & C++