即将找工作,打算将各个排序算法复习一遍,便于以后复习,代码均在codeblock下编译通过,重要的地方有注释提醒,第一篇:冒泡排序
void swap(int *a,int *b)
{
int temp=*a;
*a=*b;
*b=temp;
}
void bubble_sort(int input[],int length)
{
int i,j,flag=1;
for(i=0;i<length&&flag;i++)
{
flag=0; //若flag为0 表示这一趟没有交换,则已经排序完成,无需再扫描,即使扫描 也不会发生交换
for(j=length-1;j>i;j--)
{
if(input[j]<input[j-1])
{
swap(&input[j],&input[j-1]);
flag=1;
}
}
}
}