📄 quicksort.cpp
字号:
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
void sort();
int time3=0;
int pation(int A[],int x,int y);
void quicksort(int A[], int x, int y)
{
if(x>=y) return;
int q=pation(A, x, y);
quicksort(A, x, q-1);
quicksort(A, q+1, y);
}
int pation(int A[], int x, int y)
{
int n=A[x], i=x+1, j=y, temp;
while(1)
{
while(A[i]<n)
{
++i;
time3++;
}
while(A[j]>n)
{
--j;
time3++;
}
if(i>=j) break;
temp=A[i]; A[i]=A[j]; A[j]=temp;
time3++;
}
A[x]=A[j];
A[j]=n;
return j;
}
void qsort( )
{
int i, A[80],n,B[80];
char answer;
cout <<"请输入元素个数:";
cin >>n;
cout <<"请输入要排序的元素:" <<endl;
for(i=0; i<n; ++i)
cin >>A[i];
for(int j=0;j<n;j++)
B[j]=A[j];
quicksort(A, 0, n-1);
cout <<"排序后的结果为:" <<endl;
for(i=0; i<n; ++i)
cout <<A[i] <<" ";
cout <<endl;
cout <<"时间复杂度为:" <<time3 <<endl;
cout <<"是否打印排序前的数组?(y/n)";
cin >>answer;
if(answer=='y')
{
for(int k=0;k<n;k++)
{
cout <<B[k] <<" ";
}
}
cout <<endl;
getchar();
sort();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -