#include#include #include using namespace std;void quicksort(int a[],int left,int right){ int i,j,base; i=left; j=right; base=a[(i+j)/2]; while (i<=j){ while (a[i] base) j--; if (i<=j){ int t=a[i]; a[i]=a[j];a[j]=t; i++; j--; } } if (left >n; for(i=1;i<=n;i++){ scanf("%d",&b[i]); } quicksort(b,1,n); for(i=1;i<=n;i++){ printf("%d ",b[i]); }}
///快排模板,我的那种真的简单额。 #include#include #include #include #include #include #include #include #define LL long long #define inf 0x3f3f3f3f #define mod 1e9+7 #include using namespace std; int Partition(int a[], int left, int right)///7行代码 { int i = left-1;///初始化一定要赋值好。 for(int j=left;j<=right-1;j++){ if(a[j] < a[right]){ ///把right这个作为轴了。 i++;///这个i坐标左边的值就是比a[right]小的。 swap(a[i], a[j]);///必须交换一下。 } } swap(a[i+1], a[right]);///最后把i+1和right交换,这样轴就是i+1了必须是保证i+1上当初就是作为标杆的a[right]啊。 return i+1; } void Qsort(int a[], int left, int right) { if(left