冒泡排序

Posted shanyu20

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序相关的知识,希望对你有一定的参考价值。

思想:

  把小的元素往前调,或者把大的元素往后调;比较的是两个相邻的元素,调换也是发送在这两个元素之间

code:

#include <stdio.h>

#define LEN 5

int testData[LEN] = {10, 5, 2, 4, 7};

void swap(int *pa, int *pb)
{
    int temp;
    temp = *pa;
    *pa = *pb;
    *pb = temp;
}

void bubble_sort(void)
{
    int i, j, buf;
    for(i=0; i<LEN-1; i++){
        printf("%d, %d, %d, %d, %d\\n", testData[0], testData[1], testData[2], testData[3], testData[4]);
        for(j=LEN-1; j>i; j--){
            if(testData[j] < testData[j-1]){
                swap(&testData[j], &testData[j-1]);
            }    
        }
    }
    printf("%d, %d, %d, %d, %d\\n", testData[0], testData[1], testData[2], testData[3], testData[4]);
}

int main(int argc, char *argv[])
{
    bubble_sort();
    return 0;
}

截图:

  技术图片

以上是关于冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

java冒泡排序法代码

python代码实现鸡尾酒排序(双向冒泡排序)

冒泡排序python代码

视频+图文+动画详解冒泡排序

交换排序(冒泡排序快速排序的算法思想及代码实现)

C语言冒泡排序。