第一讲 基础算法

2022/2/2 2:00:02

本文主要是介绍第一讲 基础算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.快速排序

https://www.acwing.com/problem/content/787/

#include <iostream>
using namespace std;

const int N = 100010;
int n;
int a[N];

void quick_sort(int a[],int l,int r){
    if(l >= r) return;
    swap(a[l],a[(l+r) >> 1]);
    int pivot = a[l];
    int i = l,j = r;
    while(i < j){
        if(a[j] >= pivot && i < j) j--;
        a[i] = a[j];
        if(a[i] <= pivot && i < j) i++;
        a[j] = a[i];
    }
    a[i] = pivot;
    quick_sort(a,l,i-1);
    quick_sort(a,i+1,r);

}

int main(){
    cin >> n;
    for(int i = 1; i <= n; i++) cin >> a[i];
    quick_sort(a,1,n);
    for(int i = 1; i <= n; i++) cout << a[i] << " ";
    
    return 0;
}


这篇关于第一讲 基础算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程