Code:

#include<conio.h>
#include<iostream.h>
#define max 100
void nhapmang(int A[],int n)          {1}
{
   for(int i=0;i<n;i++){
      cout<<"nhap phan tu A["<<i<<"]="; 
      cin>>A[i];
   }
}
//ket thuc lenh {1} do phuc tap la: o(n+1)
void xuatmang(int A[].int n)        {2}
{
   cout<<endl;
   for(int i=0;i<n;i++)
      cout<<A[i]<<"\t";
}
//ket thuc lenh {2} do phuc tap la: o(n+1)
void swap(int &a,int &b)            {3}
{
   int temp = a;
   a = b;
   b = temp;
}
//ket thuc lenh {3} do phuc tap la: o(1)
void quicksort(int A[].int left,int right)          {4}
{
   int i = left,j = right;
   int pivot = A[(left + right)/2];
   while(i<=j){
      while(A[i]<pivot)
         i++;
      while(A[j]<pivot)
         j--;
      if(i<=j){
         swap(A[i],A[j]);
         i++;
         j--;
      }
   }
   if(left<j)
      quicksort(A,left,j);
   if(i<right)
      quicksort(A,i,right);
}
//ket thuc lenh {4} do phuc tap la: o(n+1)
void main(){
   int A[max],n;
   clrscr();
   cout<<"nhap so phan tu";
   cin>>n;
   nhapmang(A,n);
   cout<<"\nmang vua nhap la";
   xuatmang(a,n);
   cout<<"\nsap xep theo quick sort";
   quicksort(A,0,n-1);
   xuatmang(a,n);
   getch();
}

//ket thuc ca chuong trinh thi do phuc tap la: o(n+1)