冒泡排序

思想:

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

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;
}

截图:

  冒泡排序

上一篇:vue watch监听数据,新老值一样?让其不一样吧!


下一篇:UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 0: illegal multiby