算法模板

发布时间 2023-10-01 15:21:13作者: 夹着曲奇的main包

算法模板

1.排序

(1)快速排序(No STL)

#include <bits/stdc++.h>
using namespace std;
#define int long long
int n,a[100010];

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

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