常见排序算法代码集锦

冒泡排序

#include
using namespace std;
void BubbleSort1(int *a,int n)
{
     int i,j;
     for(i=0;ia[j+1])
               {
                    int temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                    flag=true;
               }
          }
          if(!flag)
               return;
    }
}
int main()
{
     int k;
     int a[10]={5,7,9,2,1,0,4,8,3,6};
    BubbleSort1(a,10);
     for(k=0;k<10;k++)
          cout<

快速排序

#include
using namespace std;
int partation(int *a,int low,int high)
{
     int pivot=a[low];
     while(low=pivot)
               high--;
          a[low]=a[high];
          while(low

归并排序

#include
using namespace std;
void Merge(int *data,int low,int mid,int high);
void MergeSort(int *data,int low,int high)
{
     if(low

堆排序

#include 
using namespace std;
void MinHeapFixdown(int a[],int i,int n);
void MakeMinHeap(int a[],int n)
{
    for(int i=n/2-1;i>=0;i--)
        MinHeapFixdown(a,i,n);
}
void MinHeapFixdown(int a[],int i,int n)
{
    for(int j=2*i+1;j=a[i])
            break;
        else
        {
           swap(a[i],a[j]);
           i = j;
        }

    }
}
void Minheapsort(int a[],int n)
{
    for(int i=n-1;i>0;i--)
    {
        swap(a[i],a[0]);
        MinHeapFixdown(a,0,i);
        cout<

选择排序

#include
using namespace std;

void SelectSort(int *a,int n)
{
   int i,j,min_index;
   for(i=0;i

插入排序

#include
using namespace std;
void InsertSort(int *a,int n)
{
     int i, j;
    for (i = 1; i < n; i++)
      for (j = i - 1; j >= 0 && a[j] > a[j + 1]; j--)
         swap(a[j], a[j + 1]);
}
int main()
{
     int k;
     int a[10]={6,5,4,7,8,9,2,3,1,0};
     InsertSort(a,10);
     for(k=0;k<10;k++)
     {
           cout<

希尔排序

#include
using namespace std;

void shellSort(int *a,int n)
{
  int i,j,gap;

  for(gap=n/2;gap>0;gap/=2)
       for(i=gap;i=0&&a[j]>a[j+gap];j-=gap)
                 swap(a[j],a[j+gap]);
}
void main()
{
     int k;

     int a[10]={0,2,1,4,5,9,7,8,6,3};
    shellSort(a,10);
     for(k=0;k<10;k++)
          cout<

你可能感兴趣的:(常见排序算法代码集锦)