实现快速排序算法

#include"iostream"
using namespace std;
class sort{
private:
	int data[20];
	int length;
public:
	sort()
	{
		cout << "请输入元素个数" << endl ;
		cin >> length;
		cout << "请输入元素" << endl ;
		for(int i=0;i<length;i++)
			cin >> data[i] ;
	}
	void quicksort(int s,int t)
	{
		int i=s,j=t;
		int key;
		if(s<t)
		{
			key=data[s];
			while(i!=j)
			{
				while(j>i&&data[j]>=key)
					j--;
				data[i]=data[j];
				while(i<j&&data[i]<=key)
					i++;
				data[j]=data[i];
			}
			data[i]=key;
			for(int m=0;m<length;m++)
				cout << data[m] << "  " ;
			cout << endl ;
			quicksort(s,i-1);
			quicksort(i+1,t);
		}
	}	
};

void main()
{
	sort s;
	int i,j;
	cout << "请输入要排序的开始序号" << endl ;
	cin >> i;
	cout << "请输入要排序的结束序号" << endl ;
	cin >> j;
	s.quicksort(i-1,j-1);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值