⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 quick sort.cpp

📁 各种常用的排序算法源程序,包括快速排序/归并排序/带限期的排序以及贪心法的实现程序
💻 CPP
字号:
#include<stdio.h>
#include<iostream.h>
#define MAXSIZE 20
void quicksort(int[],int,int);
typedef struct                            //定义排序表的结构
{int array[MAXSIZE];                      //数据元素关键字
}array;
void main()
{
	
	int n,array[MAXSIZE];
	printf("请输入数组个数:");
	cin>>n;
	printf("请输入要排序的数组\n");
	for(int i=0;i<n;i++)
		cin>>array[i];
	cout<<endl;
	
	quicksort(array,0,n-1);
	
	printf("输出排序后的数组\n");
	for(i=0;i<n;i++)
		cout<<array[i]<<" ";
	cout<<endl;
}

void quicksort(int a[],int left,int right)
{
	int mid,l,r,temp;

	l=left;
	r=right;
	mid=a[(left+right)/2];

	while(l<r)
	{
		while(a[l]<mid) ++l;
		while(a[r]>mid) --r;

		if(l>=r)break;

		temp=a[l];
		a[l]=a[r];
		a[r]=temp;
		if(l!=mid) --r;
		if(r!=mid) ++l;
	}
	if(l==r)l++;
	if(left<r) quicksort(a,left,l-1);
	if(l<right) quicksort(a,r+1,right);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -