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

📄 quicksort.cpp

📁 哈夫曼编码和译码 觉得自己有用的话就下把 我自己觉的还不错
💻 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 + -