一起学数据结构和算法系列

Posted 一只计蒜鸡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起学数据结构和算法系列相关的知识,希望对你有一定的参考价值。

点击上方“ 蓝字”关注“ 有趣”的灵魂



快速排序


题目一:


一起学数据结构和算法系列


#include <iostream>using namespace std;
const int N = 100010;int q[N];
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);}int main(){ int n; cin >> n; for(int i = 0; i < n; i ++ ) cin >> q[i]; quick_sort(q, 0, n - 1); for(int i = 0; i < n; i ++ ) cout << q[i] << " "; return 0;}


题目二:


一起学数据结构和算法系列

#include <iostream>using namespace std;
int n,k;const int N = 100010;int q[N];
int quick_sort(int q[], int l, int r, int k){ if(l == r) return q[l]; 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]); } if(j - l + 1 > k) return quick_sort(q, l, j, k); else return quick_sort(q, j + 1, r, k - (j - l + 1));}int main(){ cin >> n >> k; for(int i = 0; i < n; i ++ ) cin >> q[i]; cout << quick_sort(q, 0, n-1, k) << endl; }





你点的每个赞,我都认真当成了喜欢

以上是关于一起学数据结构和算法系列的主要内容,如果未能解决你的问题,请参考以下文章

重学数据结构与算法系列:时间复杂度与空间复杂度

一起学微软Power BI系列-官方文档-入门指南Power BI建模

一起学微软Power BI系列-使用技巧连接Excel数据源错误解决方法

一文带你深度解剖数据在内存中的存储(和bug郭一起学C系列)

一起学Netty(十四)之 Netty生产级的心跳和重连机制

图的最小生成树算法(图解+代码)| 学不会来看我系列