首页 > 编程语言 > 详细

C语言:冒泡排序例子

时间:2021-06-21 20:43:14      阅读:36      评论:0      收藏:0      [点我收藏+]
//冒泡排序 
//14个数字排序:14个数的组合:14*13/2=91次 理论上比较91次 ,实际只有39次进行了变量交换 
#include <stdio.h>
void bubble_sort(int arr[], int len) {
    int i, j, temp,ci=0,sjci=0;
    for (i = 0; i < len - 1; i++)
        for (j = 0; j < len - 1 - i; j++)
            {
                ci++;
                if (arr[j] > arr[j + 1])
                 {
                    sjci++;
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
    printf("理论次数=%d,实际交换次数=%d\n",ci,sjci);
}
int main() {
    int arr[] = { 22, 34, 3, 32, 82, 55, 89, 50, 37, 5, 64, 35, 9, 70 };
    int len = (int) sizeof(arr) / sizeof(*arr);
    printf("%d,%d,%d\n",len,sizeof(arr),sizeof(*arr));
    bubble_sort(arr, len);
    int i;
    for (i = 0; i < len; i++) {
        printf("%d ", arr[i]);
    }  
    return 0;
}

 

C语言:冒泡排序例子

原文:https://www.cnblogs.com/xkdn/p/14915250.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!