📄 quick sort.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 + -