快速排序,冒泡排序,直接选择排序的算法实现。利用调用函数的方法加以实现,分别用三个函数实现三种功能。废话不多说,具体算法如下:

 

   
   
   
   
  1. #include 
  2. using namespace std; 
  3. void Quicksort(int *a,int left,int right); 
  4. void Bubblesort(int *a,int n); 
  5. void Selectsort(int *a,int left ,int right); 
  6. int main() 
  7.     int i,a[10]; 
  8.     cout<<"请输入十个整数:"
  9.     for(i=0;i<10;i++) 
  10.         cin>>a[i]; 
  11.     cout<<"排序前为:"<
  12.     for(i=0;i<10;i++) 
  13.         cout<" "
  14.     cout<
  15.     cout<<"快速排序为:"<
  16.     Quicksort(a,0,9); 
  17.     for(i=0;i<10;i++) 
  18.         cout<" "
  19.     cout<"冒泡排序为:"<
  20.     Bubblesort(a,10); 
  21.     cout<"直接选择排序为:"<
  22.     Selectsort(a,0,9); 
  23.     return 0; 
  24.  
  25.  
  26. //快速排序 
  27. void Quicksort(int *a,int left,int right) 
  28.     if(left
  29.  
  30.    { 
  31.  
  32.         int i =left,j=right; 
  33.  
  34.         double key = a[left]; 
  35.  
  36.         while(i
  37.  
  38.         { 
  39.  
  40.              while(i=key) j--; 
  41.  
  42.              a[i]=a[j]; 
  43.  
  44.              while(i
  45.  
  46.              a[j]=a[i]; 
  47.  
  48.         } 
  49.  
  50.        a[i]=key; 
  51.  
  52.        Quicksort(a,left,i-1); 
  53.  
  54.        Quicksort(a,i+1,right); 
  55.  
  56.     } 
  57.      
  58.  
  59.  
  60.  
  61.  
  62.  
  63. //冒泡排序 
  64. void Bubblesort(int *a,int n) 
  65.     int i,j; 
  66.     bool flag; 
  67.     for(i=0;i<10;i++) 
  68.     { 
  69.         flag=false
  70.         for(j=9;j>=i;j--) 
  71.         { 
  72.             if(a[j-1]>a[j]) 
  73.             { 
  74.                 int temp; 
  75.                 temp=a[j-1]; 
  76.                 a[j-1]=a[j]; 
  77.                 a[j]=temp; 
  78.             } 
  79.             flag=true
  80.         } 
  81.         if(flag==false
  82.             break
  83.          
  84.     } 
  85.     for(i=0;i<10;i++) 
  86.         cout<" "
  87.     cout<
  88.  
  89.  
  90. //直接选择排序 
  91. void Selectsort(int *a,int left ,int right) 
  92.     for(int i=left;i
  93.     { 
  94.         int k=i; 
  95.         for(int j=i+1;j<=right;j++) 
  96.         { 
  97.             if(a[j]
  98.                 k=j; 
  99.         } 
  100.         if(k!=i) 
  101.         { 
  102.             int temp=a[i]; 
  103.             a[i]=a[j]; 
  104.             a[j]=temp; 
  105.         } 
  106.     } 
  107.     for(i=0;i<10;i++) 
  108.         cout<" "
  109.     cout<