这样的c语言冒泡排序法代码是正确的么??有没有什么弊端??

编写一个程序,实现基本的算法.

一組数中,相邻的两个数进行比较、交换,将最大(小)数交换至尾(首)部,即完成了一次

要想对N个数字进行排序,循环N次即可.

如果真的不理解算法,请点击:

//方式一:从头向尾遍历,将最大数(相对)沉入尾部(相对)
//方式二:从尾向头遍历,将最大数(相对)冒泡到头部(相对)
*本代码版权归高小调博客所有 *代码功能:通过C语言实现c语言冒泡排序法代码算法
}

可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题

我运行,怎么没出现乱码勒

这个乱码是有一个数据溢出边界了

使用边界值进行縋踪,很快就能发现在哪儿溢出的

一般都是在for循环里面交换的时候会出现这种问题

你看你里面那个for循环,j应该从1开始因为要比较a[j-1]和a[j],洳果从0开始就已经出了数组范围此时它前面地址可能是个0,所以它就会被置到最后比较20次之后退出,此时最大的那个数就丢了。

}

我要回帖

更多关于 c语言冒泡排序法代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信