冒泡排序—(时间复杂度为O(n*n))

冒泡排序也被称为起泡排序,该排序算法的原理就是经过一系列的交换实现的,也就是用第一个元素和第二个元素进行比较,如果第一个元素的值大于第二个元素则两者位置互换,否则不交换。然后第二个元素和第三个元素比较……最后序列中最大的元素被交换到了序列的尾部,这样就完成了一轮交换,经过n轮交换之后,就可以得到一个有序序列。

/******************************************************************************
*
*   file name : 冒泡排序
*   author    : Wzy
*   data      : 2025/12/12
*   function  : 给定一个数组,数组里面存有10个随机整数,然后利用冒泡排序实现整数序列的升序排列,使用数组实现
*   note      : None
*
*   copyRight  (c)  2025    17630246607@163.com   All Right Reseverd
* ****************************************************************************/



#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>



/******************************************************************************
*
*   func name    : BubbleSort
*   function     : 实现冒泡排序
*   argument     : 
* 					@arr[10]:待排序的整形数组
* 					@arrsize:数组中元素的个数
*   retval       : None
*   author       : Wzy
*   date         : 2025/12/12
*   note         : 冒泡排序:指的是元素两两之间进行比较交换,需要比较n轮,每轮需要比较m次,从左向右,升序
* 
* ****************************************************************************/
#if 1
void BubbleSort(int arr[],int arrsize)
{
	int temp = 0; //为了临时存储交换值
	
	//1.循环比较元素,需要比较n轮
	for (int n = 1; n < arrsize; ++n)
	{
		//2.每轮需要比较m次
		for (int m = 0; m < arrsize - n; ++m)
		{
			//3.数组元素两两之间进行比较交换 arr[0]与arr[1]比较   arr[1]与arr[2]比较
			if (arr[m] > arr[m + 1])
			{
				temp     = arr[m];
				arr[m]   = arr[m+1];
				arr[m+1] = temp;
			}
  		}
	}

}
#endif


int main(int argc, char const *argv[])
{

    //定义一个整形数组存储10个整数
	int arr[] = {14,23,12,5,8,3,9,10,33,6};

	printf("排序前整数序列\n");
	for (int i = 0; i <sizeof(arr)/sizeof(arr[0]); ++i)
	{
		printf("%d ",arr[i]);
	}

	printf("\n");

	BubbleSort(arr,sizeof(arr)/sizeof(arr[0]));

	printf("排序后整数序列\n");
	for (int i = 0; i <sizeof(arr)/sizeof(arr[0]); ++i)
	{
		printf("%d ",arr[i]);
	}

	printf("\n");

	return 0;
}

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇