C语言冒泡排序算法

冒泡排序

冒泡排序(Bubble Sort) 是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

具体步骤如下:

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

冒泡排序的时间复杂度为O(n^2),其中n是待排序的元素个数。虽然冒泡排序不是最高效的排序算法,但由于其实现简单易懂,常常在面试的笔试中高频出现。

/*******************************************************************
*
*	函数名称:	  BubbleSort
*	函数功能:   利用冒泡排序算法实现对数据进行升序排列
* 	函数参数:
*  			@a :int buf[] 	定义的数组
*  			@b :bufsize 	数组的元素个数
*  			

*   返回结果:   
* 	注意事项:   None
* 	函数作者:  m17872844806@163.com
*	创建日期:   2024/05/2
*	修改历史:
*	函数版本:	V1.0
* *****************************************************************/
void BubbleSort(int buf[],int bufsize)
{
	int temp=0;
	for(int i=0;i<bufsize;i++)//需要排序的轮数
    {
        for(int j=0;j<bufsize-n;j++)//由于每一轮都有一个数已经排好序至末端向前,所以减去排序的轮数n
        {
            if(buf[j]>buf[j+1])//如果第一个数比第二大,交换两数位置
            {
                temp=buf[j];
                buf[j]=buf[j+1];
                buf[j+1]=temp;
            }
        }
    }

}

如果该函数接口代码有什么问题,请将问题发至网易邮箱 m17872844806@163.com,作者将及时改正,欢迎与各位老爷交流讨论。

麻烦三连加关注!!!!

比心

posted @ 2024-05-02 14:21  琨为玉也  阅读(52)  评论(0编辑  收藏  举报