首页 > 编程语言 >八大排序算法——快速排序

八大排序算法——快速排序

时间:2023-07-01 16:31:49浏览次数:45  
标签:sort include 八大 int while ++ 算法 quick 排序

八大排序算法——快速排序_快速排序

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 1000010;  

int n;
int q[N];

void quick_sort(int l, int r)  // 快速排序
{
    if (l >= r) return;
    int i = l - 1, j = r + 1, x = q[(l + r) / 2];
    while (i < j)
    {
        do i ++ ; while (q[i] < x);
        do j -- ; while (q[j] > x);
        if (i < j) swap(q[i], q[j]);
    }
    quick_sort(l, j);
    quick_sort(j + 1, r);
}
int main()
{
	for(int i = 0;i < 10 ;i ++) scanf("%d ",&q[i]); 
	quick_sort(0,9); 
	for(int i = 0;i < 10 ;i ++) printf("%d ",q[i]);
	
	return 0;
}

标签:sort,include,八大,int,while,++,算法,quick,排序
From: https://blog.51cto.com/u_15623277/6600069

相关文章

  • 算法学习day03链表part01-203、707、206
    packageSecondBrush.LinkedList.LL1;/***203.移除链表元素*删除链表中等于给定值val的所有节点。*自己再次概述一下这个过程:*1.移除元素,要采用设置虚拟节点的方式,因为那样不需要考虑头结点问题*2.设置两个虚拟指向*3.移除元素就是遍历链表,然后碰到目标值......
  • 算法学习day04链表part02-24、19、0207、142
    packageSecondBrush.LinkedList.LL1;/***24.两两交换链表中的节点**/publicclassSwapNodesInPairs_24{publicListNodeswapPairs(ListNodehead){ListNodedummyhead=newListNode(-1);dummyhead.next=head;ListNodecur......
  • manacher马拉车算法
    目录manacher算法相关资料manacher算法用于\(O(n)\)求解字符串中的最长回文子串相关资料马拉车算法(不懂问我)......
  • 基于AIC,MDL,HQ,EDC算法实现阵列信号的信源数目估计附MATLAB代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 算法中的数学--gpt回答
      在算法工作中,用到最多的数学部分可以归纳为以下几个方面:离散数学:离散数学是研究离散对象及其关系的数学分支,对于算法设计和分析非常重要。其中包括集合论、图论、逻辑、排列组合等内容。图论在许多算法领域都有广泛应用,例如网络流算法、最短路径算法、图匹配算法等。......
  • 【无人机控制】基于几何自适应控制算法解耦姿态动力学的四旋翼无人机附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 代码随想录算法训练营第二十一天| 216.组合总和III 17.电话号码的字母组合
    216.组合总和III  思路:很像上一个组合类型的题目,唯一不同的就是自己写一个sum代码:1voidconvertBST_cur(TreeNode*root,vector<TreeNode*>&nodes)2{3if(!root)return;4if(root->left)convertBST_cur(root->left,nodes);5nodes.push_bac......
  • 【算法题】2706. 购买两块巧克力
    题目:给你一个整数数组prices,它表示一个商店里若干巧克力的价格。同时给你一个整数money,表示你一开始拥有的钱数。你必须购买恰好两块巧克力,而且剩余的钱数必须是非负数。同时你想最小化购买两块巧克力的总花费。请你返回在购买两块巧克力后,最多能剩下多少钱。如果购买任意......
  • LeetCode算法题---最长回文子串、N 字形变换(四)
    5.最长回文子串题目要求:给你一个字符串 s,找到 s 中最长的回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。示例1: 输入:s="babad"输出:"bab"解释:"aba"同样是符合题意的答案。 示例2:输入:s="cbbd"输出:"bb"提示:1<=s.length<=1000s仅由数字......
  • 冒泡、选择、插入、归并、快速排序代码
    importrandom#随机生成包含10个元素的数组random.seed(10)alist=[random.randint(1,100)for_inrange(10)]冒泡排序'''冒泡排序每轮相邻的两个元素,两两相比,此轮最大的元素,像泡泡一样移动到队列尾部。每次j和j+1位置比较,胜者冒出去'''defbubble_sort(arr)......