本人小白一枚,为了能够更好的学习和记录,故用这个博客记录学习过程,也希望得到各位高人的指点。现在就从最基础的经典算法开始!(如有不对,希望得到指正,这样才能更好的进步)
/*冒泡排序*/
/*从前面开始,前后数字比较,将大的交换到后面,则循环一轮下来最大的数字到了最后,以此类推每次循环都将最大的放在最后*/
/*如果第一遍遍历没有交换则代表数组有序,则跳出循环,用sorted作为标记*/
#include <stdio.h>
#include <stdlib.h>
int bouble_sort(int s[],int n)
{
int i,j,temp,sorted;
for(i=0;i<n;i++)
{
sorted=1;
for(j=0;j<n-i;j++)
{
if(s[j+1]<s[j])
{
sorted=0;
temp=s[j+1];
s[j+1]=s[j];
s[j]=temp;
}
}
if(sorted==1)
break;
}
return *s;
}
int main()
{
int s[5];
int n,i;
n=5;
for(i=0;i<n;i++)
{
scanf("%d",&s[i]);
}
bouble_sort(s,n);
for(i=0;i<n;i++)
{
printf("%d ",s[i]);
}
}