冒泡排序作为学习排序最基本的算法,具有稳定性与实用性。
下面是C语言冒泡排序的源代码
#include<stdio.h>
int main(void)
{
int a[10]={6,4,3,2,7,8,9,10,1,5};
int i,k,w;
for(i=0;i<9;i++)
{
for(k=0;k<9-i;k++)
{
if(a[k]>a[k+1])
{
w=a[k];
a[k]=a[k+1];
a[k+1]=w;
}
}
}
for(i=0;i<10;i++)
{
printf(“%d “,a[i]);
}
}
以下是输出的结果
下面进行代码讲解
:
如果前一位的数字大于后一位的,那么这两个数字交换位置,因此,最大的数字在第一轮循环中不断像一个气泡一样向上冒,在第一轮循环结束后排在最后一个(最右边),接着进行下一轮循环,由于这个最大的数在第一轮循环中已经打遍天下无敌手,大家认可了它的实力,第二轮比武他就可以不用参与了,则我们比较的次数变成9-1=8->我们得到了节省内存的算法,由此类推,数字一个个排序进行。
Warning:
博主在期末考试的时候犯了一个傻乎乎的错误,内外层循环变量整的一样的,结果人家i循环了一遍跑了(详情请看上面的代码)提醒大家不要犯错哦
今天的文章C语言实现冒泡排序分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/7451.html