插入法==冒泡排序

//C++ 排序方法的总结
#include <iostream>
#include <vector>
using namespace std;
 
/*
采用插入法进行排序
*/
void InsertArray( int a[], int n, int * &b)
{
     int temp;
     int j;
     for ( int i = 0;i<n-1;i++)
     {
         j  = i;
         while (a[j]>a[j+1])  //后者小于前者,交换
         {
             temp = a[j];
             a[j] = a[j+1];
             a[j+1] = temp;
 
             if (j>0)
             {
                 j--;
             }
         }
 
     }
     b = a;
}
 
/*
采用冒泡排序
*/
void SortArray( int a[], int n)
{
     int temp ;
     for ( int i = 1;i<n;i++) //n-1次
         for ( int j = 0;j<n-i;j++) //n-i次
         {
             if (a[j]>a[j+1])
             {
                 temp = a[j];
                 a[j]= a[j+1];
                 a[j+1] = temp;
             }
         }
}
 
 
void main()
{
     int *b;
     int a[13]= {43,21,89,15,43,28,24,5,67,8,78,23,46};
//  InsertArray(a,13,b);
//  cout<<"选择排序的结果"<<endl;
//  for(int k = 0;k<13;k++)
//  {
//      cout<<*(b+k)<<' ';
//  }
     cout<< "冒泡排序的结果" <<endl;
     SortArray(a,13);
     for ( int k = 0;k<13;k++)
     {
         cout<<a[k]<< ' ' ;
     }
}

你可能感兴趣的:(冒泡排序)