一、冒泡排序
#include<iostream.h>
#include<stdlib.h>
void swap(int &a,int &b)
{
int temp=a;
a=b;
b=temp;
}
void BubbleSort(int arr[],int size)
{
int i,j;
for(i=0;i<size-1;i++)
for(j=0;j<size-1-i;j++)
if(arr[j]>arr[j+1])
swap(arr[j],arr[j+1]);
}
int main(void)
{
int a[5]={5,4,3,2,1};
BubbleSort(a,5);
for(int i=0;i<5;i++)
cout<<a[i]<<'\t';
cout<<endl;
system("PAUSE");
}
二、選擇排序
void SelectionSort(int *arr,int size)
{
int i,j,min;
for(i=0;i<size-1;i++)
{
min=i;
for(j=i+1;j<size;j++)
if(arr[min]>arr[j])
min=j;
swap(arr[i],arr[min]);
}
}
三、插入排序
void InsertSort(int a[],int n)
{
int i,j,temp;
for(i=1;i<n;i++)
{
temp=a[i];
for(j=i-1;j>=0&&temp<a[j];j--)
a[j+1]=a[j];
a[j+1]=temp;
}
}
四、希爾排序
void ShellSort(int a[],int len)
{
int h,i,j,temp;
for(h=len/2;h>0;h=h/2)
{
for(i=h;i<len;i++)
{
temp=a[i];
for(j=i-h;j>=0&&temp<a[j];j-=h)
{
a[j+h]=a[j];
}
a[j+h]=temp;
}
}
}
五、快速排序