首页 > 编程语言 >快速排序算法模板+内置函数

快速排序算法模板+内置函数

时间:2023-10-20 21:23:40浏览次数:42  
标签:sort std arr 内置 函数 int Arrays 排序 模板

思想:
  1. 确定分界点
  2. 调整区间 ,小于分界点的在左边区间,大于分界点在右边区间。
  3. 递归处理左右两边。
void quick_sort(int q[], int l, int r)
{
    if (l >= r) return;

    int i = l - 1, j = r + 1, x = q[l + r >> 1];
    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(q, l, j), quick_sort(q, j + 1, r);
}

但是呢,有内置函数也就是快排

C++和Java内置的排序函数分别是`std::sort()`和`Arrays.sort()`。

1. C++中的`std::sort()`函数:
#include <algorithm>
#include <vector>

int main() {
    std::vector<int> arr = {5, 3, 1, 4, 2};
    std::sort(arr.begin(), arr.end());
    return 0;
}
```

2. Java中的`Arrays.sort()`函数:
import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] arr = {5, 3, 1, 4, 2};
        Arrays.sort(arr);
    }
}

 

标签:sort,std,arr,内置,函数,int,Arrays,排序,模板
From: https://www.cnblogs.com/daitu66/p/17778015.html

相关文章

  • 运用模板重载二维数组
    #include<iostream>#include<array>usingnamespacestd;//stack.htemplate<typenameT>classArray{public: Array(introw,intcol); T*operator[](introw);public: T*m_pT; intm_Row; intm_Col;};template<typenameT>Ar......
  • [Leetcode] 0083. 删除排序链表中的重复元素
    83.删除排序链表中的重复元素题目描述给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回已排序的链表 。 示例1:输入:head=[1,1,2]输出:[1,2]示例2:输入:head=[1,1,2,3,3]输出:[1,2,3] 提示:链表中节点数目在范围[0,300]......
  • 数字、字符串类型内置方法
    数据类型1为什么要有数据类型​ 对于不同类型的变量需要用不同的数据类型去描述​ 常用:数字类型、字符串、列表、字典、布尔值1.1数据类型的内置方法1.1.1整型作用:年龄/身份证号码/身高/体重……定义方式:y=10id_num=5201314x=int(10)z=int('10')方法:......
  • 元组数据类型内置方法
    元组数据类型内置方法元组和列表的内置方法一模一样,但是元祖无法修改元组咋i定义的那一刻他的元素个数以及元素的值就全部固定了毫无用处,早期永远一般用于减小内存占用,以后只要定义列表就行了定义方式列表的中括号改成小括号tup=(1,2,3,4,5)内置方法查看索引位置......
  • 字典数据类型内置方法
    字典数据类型内置方法1.作用对于值添加描述信息使用他2.定义方式用{}以逗号隔开加入键值对:key:valueinfo_dict={'name':'wangdapao','age':18,'height':120,'gender':'female','hobby_list':['dapao','basketball'......
  • 集合类型内置方法
    集合类型内置方法集合基本用不到,redis1.作用就是存储一大堆元素的东西,容器数据类型2.定义方式以{}用逗号隔开不可变数据类型s={1,23,3,4,5,6,4,32,4,'12','e','sdf'}print(s)#打印是乱序的去重lis=[1,2,2,3,4,3]print(set(lis))print(list(set(lis)))......
  • 列表数据类型的内置方法
    列表数据类型的内置方法1.作用列表的作用就是可以描述多个值,就比如一个人可以有很多的爱好2.定义方式hobby_list=['play','swimming','dancing']print(hobby_list)lt=list('randysun')print(lt)3.内置方法优先掌握索引取值hobby_list=['play','swimming......
  • 排序
         质数 三数排序 描述 请你输出三个数字按照有小到大的顺序输出 输入 三个整数a,b,c 输出 三个整数,两两之间由一个空格隔开,并且有由小到大输出 输入样例1 243输出样例1234 a,b,c=map(int,input().sp......
  • PHP将数组通讯录按字母A-Z排序
    1.调用publicfunctiontest(){$volist=Db::name("user")->select();$list=$this->chartSort($volist);} 2.具体方法/***将数组按字母A-Z排序*@return[type][description]*/publicfunctionchartSort($user){foreach(......
  • SAP ALV模板
    效果图:ALV显示自动优化,更新后数据自动回写内表,日期栏位输入帮助,获取长文本数据  代码如下: REPORTZ_ALV_MODULE.TABLES:VEPO,EKKO,LIPS,LIKP.*ALV结构TYPES:BEGINOFTY_ALV,BOXTYPEC,ZFMKTYPEC,BOLNRTYPELIKP-BOLNR,VBELNTYPELIKP-VBELN,P......