22 冒泡排序

Posted abel2020

tags:

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

//冒泡排序,输入一个数组,冒泡排序

#include <stdio.h>
#include<time.h>
#include<stdlib.h>

# define MAXSIZE 10                 //要排序数组的长度
#define random(x) (rand()%x)        //宏定义随机数函数

//三个参数分别为原数组,数组大小,排序后的数组
maopao_sort(int* old,int maxsize, int* new);

main() {
    srand((unsigned)time(NULL));

    int old[MAXSIZE];  
    int new[MAXSIZE];

    //生成随机数组
    for (int i = 0; i < MAXSIZE; i++)
        old[i] = random(100)-50;  //随机生成(-50,50)之间的数
    
    maopao_sort(old,MAXSIZE,new);


    //输出原数组
    printf("old :    ");
    for (int i = 0; i < MAXSIZE; i++)
        printf("%d ", old[i]);
    printf("
");
    //输出排序后的数组
    printf("new :    ");
    for (int i = 0; i < MAXSIZE; i++)
        printf("%d ", new[i]);

}

maopao_sort(int* old, int maxsize,int* ar) {
    int i, j;
    int temp;

    for (int i = 0; i < MAXSIZE; i++)
        ar[i] = old[i];

    for(j = 0; j < MAXSIZE-1; j++)
        for (i = 0; i < MAXSIZE-1 - j; i++)   //第一轮循环把最大的放在最后位置,第二轮把次大的放在倒数第二个位置
            if (ar[i] > ar[i + 1])
            {
                temp = ar[i];
                ar[i] = ar[i + 1];
                ar[i + 1] = temp;
            }

}

 

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

冒泡排序原理

冒泡排序C语言

冒泡排序

Python之路22冒泡排序算法

1.22 Java基础总结 最常用冒泡排序

数组中的冒泡排序