c语言数据结构--快速排序

发布时间:2023年12月26日
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<algorithm>
using namespace std;
#define Max 11
void quicksort(int *a,int begin,int end){
	if(begin>=end)return;
	int left=begin;
	int right=end;
	int key=left;
	while(left<right){
		while(left<right&&a[key]<=a[right])right--;
		while(left<right&&a[key]>=a[left])left++;
		int temp=a[left];
		a[left]=a[right];
		a[right]=temp;
	}
	int temp=a[key];
	a[key]=a[right];
	a[right]=temp;
	key=right;
	
	quicksort(a,begin,key-1);
	quicksort(a,key+1,end);
	
}
int main(){
	int length;
	cout<<"input the length:";
	cin>>length;
	int data[length+1];
	cout<<"input the array:";
	for(int i=1;i<=length;i++){
		int a;
		cin>>a;
		data[i]=a;
	}
	quicksort(data,1,length);
	for(int i=1;i<=length;i++){
		cout<<data[i]<<"  ";
	}
}

文章来源:https://blog.csdn.net/2202_75787160/article/details/135229868
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。