AC代码,求归并排序代码
查看原帖
AC代码,求归并排序代码
606278
封禁用户楼主2022/1/17 21:49
#include <bits/stdc++.h>
using namespace std;

vector<int> FNumbers;

void QuickSort(int ALeft,int ARight){
	if (ALeft>ARight) return;
	int i=ALeft,j=ARight,l_Mid=FNumbers[(ALeft+ARight)/2];
	do{
		while (FNumbers[i]<l_Mid) i++;
		while (FNumbers[j]>l_Mid) j--;
		if (i<=j){
			swap(FNumbers[i],FNumbers[j]);
			i++;
			j--;
		}
	}
	while (i<=j);
	
	QuickSort(ALeft,j);
	QuickSort(i,ARight);
}

int main(){
	int l_Num=0;
	cin >> l_Num;
	FNumbers.resize(l_Num);
	for (int i=0;i<l_Num;i++)
		scanf("%d",&FNumbers[i]);
	QuickSort(0,FNumbers.size()-1);
	for (int i=0;i<FNumbers.size();i++)
		cout << FNumbers[i] << ' ';

    return 0;
}

2022/1/17 21:49
加载中...