QuickSort
  • 板块题目总版
  • 楼主码农同志
  • 当前回复11
  • 已保存回复11
  • 发布时间2020/10/5 13:02
  • 上次更新2023/11/5 11:58:04
查看原帖
QuickSort
268200
码农同志楼主2020/10/5 13:02

小白我自己写了一个快排函数,不知道为什么就是排不出来,思路貌似有没有问题,求大佬看看。

#include<bits/stdc++.h>
using namespace std;
int i,j,n,R[1001];

int QuickSortPass(int hight,int low){
	R[0]=R[low];
	while(low<hight){
		while(low<hight&&R[hight]>=R[0])hight--;
		R[low]=R[hight];
		while(low<hight&&R[low]<=R[0])low--;
		R[hight]=R[low];
	}
	R[low]=R[0];
	return low;
}
void QuickSort(int s,int t){
	if(s<t){
		int m=QuickSortPass(s,t);
		QuickSort(s,m-1);
		QuickSort(m+1,t);
	}
}
int main()
{
	cin>>n;
	for(i=1;i<=n;i++){
		cin>>R[i];
	}
	QuickSort(1,n);
	for(i=1;i<=n;i++){
		cout<<R[i]<<' ';
	}
	return 0;
}

输出跟输入一样,求解

2020/10/5 13:02
加载中...