八大排序算法(五) 起泡排序

这里写图片描述

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define SIZE 10
int n[SIZE];

void init(int n[], int len){
    int i;
    srand((unsigned)time(NULL));
    for (i=0; i<len; i++){
        n[i] = rand()%10+1;
    }
}

void printout(int n[], int len){
    int i;
    for (i=0; i<len; i++){
        printf("%d ", n[i]);
    }
    printf("
");
}

void BubbleSort(int n[], int len){
    int i, j;
    int flag = 1;
    int tmp;

    for (i=len-1, flag=1; i>0 && flag; i--){
        flag = 0;
        for (j=0; j<i; j++){
            if (n[j+1] < n[j]){
                flag = 1;
                tmp = n[j+1];
                n[j+1] = n[j];
                n[j] = tmp;
            }
        }
    }
}
int main(){
    init(n, SIZE);
    printout(n, SIZE);
    BubbleSort(n, SIZE);
    printout(n, SIZE);
    return 0;
}

运行图:
这里写图片描述

原文地址:https://www.cnblogs.com/laohaozi/p/8266579.html