冒泡排序法是如何排序的?

网上有关“冒泡排序法是如何排序的?”话题很是火热,小编也是针对冒泡排序法是如何排序的?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

冒泡排序算法的原理如下:

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

扩展资料:

举例:C语言

#include<stdio.h>

#define ARR_LEN 255/*数组长度上限*/

#define elemType int/*元素类型*/

/*冒泡排序*/

/*1.从当前元素起,向后依次比较每一对相邻元素,若逆序则交换*/

/*2.对所有元素均重复以上步骤,直至最后一个元素*/

/*elemType arr[]:排序目标数组;int len:元素个数*/

void bubbleSort(elemType arr[],int len){

elemType temp;

int i,j;

for(i=0;i<len-1;i++)/*外循环为排序趟数,len个数进行len-1趟*/

for(j=0;j<len-1-i;j++){/*内循环为每趟比较的次数,第i趟比较len-i次*/

if(arr[j]>arr[j+1]){/*相邻元素比较,若逆序则交换(升序为左大于右,降序反之)*/

temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}

int main(void){

elemType arr[ARR_LEN]={3,5,1,-7,4,9,-6,8,10,4};

int len=10;

int i;

bubbleSort(arr,len);

for(i=0;i<len;i++)

printf("%d\t",arr<i>);

putchar('\n');

return 0;

}

参考资料:

百度百科——冒泡排序

关于“冒泡排序法是如何排序的?”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[紫之]投稿,不代表巨商报立场,如若转载,请注明出处:https://91zxpc.com/zx/891.html

(12)
紫之的头像紫之签约作者

文章推荐

发表回复

作者才能评论

评论列表(3条)

  • 紫之的头像
    紫之 2025年07月27日

    我是巨商报的签约作者“紫之”

  • 紫之
    紫之 2025年07月27日

    本文概览:网上有关“冒泡排序法是如何排序的?”话题很是火热,小编也是针对冒泡排序法是如何排序的?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。它...

  • 紫之
    用户072703 2025年07月27日

    文章不错《冒泡排序法是如何排序的?》内容很有帮助

联系我们

邮件:巨商报@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

关注微信