冒泡排序思想:从单个方向(比较,交换)每次得到一个最小或者最大数。
1,将第一个元素和第二个元素进行比较,若为逆序(arr[1]<arr[2]),则交换它们的位置,然后比较第二个元素和第三个元素
进行比较。以此类推,直至第n-1个元素和第n个元素进行比较为止。这个过程为一趟冒泡排序,使得最大元素被交换到
数组的尾部。
2,然后对前n-1个元素按步骤1进行第二趟冒泡排序,其结果是将次大关键字放到n-1的位置上。
3,一般地,第i趟起泡排序是从arr[1]到arr[n-i+1]依次比较相邻元素,如果有“逆序”则交换。其结果是这n-i+1个记录中的最大
元素被交换到n-i+1位置上。
打印输出函数:
#include <stdio.h>
static int print_arr(char *pflag, int *arr, unsigned int len)
{
if (!arr || !len) {
return -1;
}
if (pflag) {
printf("%s: ", pflag);
}
for (unsigned int i=0; i<len; i++) {
printf("%d ", arr[i]);
}
printf(
今天的文章冒泡排序 c语言实现分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/25017.html