首页 > 其他分享 >冒泡排序

冒泡排序

时间:2024-05-01 22:13:20浏览次数:24  
标签:None temp int 冒泡排序 bufsize buf

/******************************************************************************************************
  * @file name:		  :BubbleSort
  * @brief  		  :冒泡排序
  * @author 		  :[email protected]
  * @date 			  :2024/04/30
  * @version 1.0 	  :V1.0
  * @property 		  :暂无
  * @note   		  :None
  * CopyRight (c)  2023-2024   [email protected]   All Right Reseverd
******************************************************************************************************/

/********************************
 *  funName:     BubbleSort
 *  funtion:     冒泡排序
 *  Argument:
 *               @temp  :  为了临时存储交换值
 *               @n     :  需要比较n轮
 *               @m     :  需要比较m次
 *  返回结果:     None
 *  注意事项:     None
 *  函数作者:    [email protected]
 *  创建日期:     2024/04/30
 *  修改历史:    None
 *  函数版本:    V1.0
 * ********************************/


void BubbleSort(int buf[],int bufsize)
{
	int temp = 0;	//为了临时存储交换值
	//循环比较元素,需要比较n轮
	for(int n = 1; n < bufsize; ++n)
	{
		//每轮需要比较m次
		for(int m = 0; m < bufsize - n; ++m)
		{
			//数组元素两两之间进行比较交换
			if(buf[m] > buf[m+1])
			{
				temp = buf[m];			//备份前一个
				buf[m] = buf[m+1]; 		//把后面交换到前面
				buf[m+1] = temp;		//把前面交换到后面
			}
		}
	}
}

标签:None,temp,int,冒泡排序,bufsize,buf
From: https://www.cnblogs.com/hhail08/p/18169708

相关文章

  • 二分法,冒泡排序
    Ⅰ算法之二分法算法其实就是解决问题的有效方法'''二分法使用有前提:数据集必须有先后顺序(升序,降序)''''''二分法原理 获取数据集中间的元素比对大小 如果中间元素大于目标数据那么保留数据集的左边一半 如果中间元素小于目标数据那么保留数据集的右边一半 针对剩......
  • 冒泡排序
    packageArray;importjava.util.Arrays;//冒泡排序//1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置//2.每一次比较,都会产生一个最大,或者最小的数字//3.下一轮测试可以少一次排序//4.依次循环,直到结束publicclassDemo06{publicstaticvoid......
  • 排序1-冒泡排序
    排序1-冒泡排序冒泡排序的次数是递减的,第一次确定了最大元素的位置,所以第二次只需要进行n-1次排列,第二次确定了第二大元素的位置,所以第三次只需要进行n-2次排列,以此类推for(inti=0;i<len;i++){//每次遍历的次数是递减的//所以j=len-1-i......
  • js带注释的冒泡排序算法
    一、简述冒泡排序(BubbleSort)是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果二者的顺序(如从大到小、首字母从A到Z)错误就交换。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法......
  • 常见的排序算法——冒泡排序(二)
    本文记述了冒泡排序微小改动的基本思想和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。◆思想更少的比较可以节省一定的时间,此改动可以减少更小范围的比较。(把水平陈列的数组逆时针旋转90°后,有助于理解后续的内容。)将包含顶层以下的所有元素作为待排序范围......
  • 常见的排序算法——冒泡排序
    本文记述了冒泡排序的基本思想和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。◆思想(把水平陈列的数组逆时针旋转90°后,有助于理解后续的内容。)将包含顶层以下的所有元素作为待排序范围,将该范围以上的所有元素作为已排序范围。通过一一比较相邻的两个元素,自......
  • Java入门基础知识第八课(数组)——冒泡排序、Arrays工具类
    前面二白讲了关于数组的概念、语法以及简单的输入输出,实际上关于数组的知识还有很多,接下来咱们讲一下冒泡排序以及一些常用的Arrays工具类,需要记忆的知识很多,而且容易混淆。一、冒泡排序简介(原理)升序为例:从头开始,每次比较相邻两数小的交换到前面每轮结束后最大的数交换到......
  • 冒泡排序的基本实现【数据结构与算法—TypeScript 实现】
    笔记整理自coderwhy『TypeScript高阶数据结构与算法』课程概念本质:相邻元素两两比较并交换位置,使整个序列按照特定的顺序排列特性复杂度分析时间复杂度:最好情况:O(n)最坏情况:O(n^2)平均情况:O(n^2)空间复杂度:O(1),原地排序使用场景因为时间复杂度为O(n^2)适......
  • 冒泡排序
     1#include<stdio.h>2intmain(){34intarr[5];5printf("pleaseinputfivenumber:");6for(inti=0;i<5;i++){7scanf("%d",&arr[i]);8}9for(inti=0;i<5;i......
  • 蓝桥杯备考随手记: 常用的三种排序算法(冒泡排序、插入排序、选择排序)
    1.冒泡排序(BubbleSort)冒泡排序是一种简单直观的排序算法,在待排序序列中不断地交换相邻两个元素的位置,通过多次遍历,将最大(或最小)的元素逐渐向右(或左)移动到正确的位置,直到整个序列有序。冒泡排序的基本思想如下:从序列的第一个元素开始,比较相邻两个元素的大小。如果前一个元......