1、冒泡排序
# include <stdio.h>
# include <stdlib.h>
void Swap(int *a,int *b)
{
int temp=*a;
*a=*b;
*b=temp;
}
void Bubble_Sort(int *arr,int len)
{
int i,j;
for(i=0;i<len-1;i++)
{
for(j=0;j<len-i-1;j++)
{
if(arr[j]>arr[j+1])
{
Swap(&arr[j],&arr[j+1]);
}
}
}
}
PrintArr(int *arr,int len)
{
int i;
for(i=0;i<len;i++)
{
printf("%d ",arr[i]);
}
}
int main()
{
int arr[]={7,5,6,9,4,0,1,2};
int len=sizeof(arr)/sizeof(arr[0]);
Bubble_Sort(arr,len);
PrintArr(arr,len);
getchar();
return 0;
}
2、选择排序
# include <stdio.h>
# include <stdlib.h>
void Selection_Sort(int *arr,int len)
{
int i,j;
for(i=0;i<len;i++)
{
int min=i;
for(j=i+1;j<len;j++)
{
if(arr[j]<arr[min])
{
min=j;
}
}
if(min!=i)
{
int temp=arr[i];
arr[i]=arr[min];
arr[min]=temp;
}
}
}
PrintArr(int *arr,int len)
{
int i;
for(i=0;i<len;i++)
{
printf("%d ",arr[i]);
}
}
int main()
{
int arr[]={7,5,6,9,4,0,1,2};
int len=sizeof(arr)/sizeof(arr[0]);
Selection_Sort(arr,len);
PrintArr(arr,len);
getchar();
return 0;
}
3、插入排序
# include <stdio.h>
# include <stdlib.h>
void Insert_Sort(int *arr,int len)
{
for(int i=1;i<len;i++)
{
if(arr[i]<arr[i-1])
{
int tmp=arr[i];
int j=i-1;
for(;j>=0 && tmp<arr[j];j--)
{
arr[j+1]=arr[j];
}
arr[j+1]=tmp;
}
}
}
void Print(int *arr,int len)
{
for(int i=0;i<len;i++)
{
printf("%d ",arr[i]);
}
}
int main()
{
int arr[]={4,,7,3,5,1,9,2,0,8};
int len=sizeof(arr)/sizeof(int);
Insert_Sort(arr,len);
Print(arr,len);
}