直接插入
void insertSort(int arr[],int n)
{
int temp,i,j;
for(i=1;i<n;++i)
{
temp=arr[i];
j=i-1;
while(j>=0&&temp<arr[j])
{
arr[j+1]=arr[j];
--j;
}
arr[j+1]=temp;
}
}
简单选择-找出无序序列中最小的关键字,与最左边的关键字交换
void selectSort(int arr[],int n)
{
int i,j,k;
int temp;
for(i=0;i<n;++i)
{
k=i;
for(j=i+1;j<n;++j)
if(arr[k]>arr[j])
k=j;
temp=arr[i];
arr[i]=arr[k];
arr[k]=temp;
}
}
冒泡排序-扫描整个序列,若当前关键字比它上一个关键字小,则交换位置,
当扫描到没有发生关键字交换时,序列变为有序
void bulbleSort(int arr[],int n)
{
int i,j,flag;
int temp;
for(i=n-1;i>=1;--i)
{
flag=0;
for(j=1;j<=i;++i)
if(arr[j-1]>arr[j])
{
temp=arr[j];
arr[j]=arr[j-1];
arr[j-1]=temp;
flag=1;
}
if(flag==0)
return;
}
}