排序算法之冒泡排序

岁酱吖の 提交于 2020-02-03 01:23:31

交换排序

基本思想:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置。交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。

冒泡排序

在这里插入图片描述

void Swap(int* x, int* y)
{
	int tmp = *x;
	*x = *y;
	*y = tmp;
}

void BubbleSort(int* a, int n)
{
	int end = n;
	//共n-1趟比较
	while (end > 1)
	{
		for (int i = 1; i < end; i++)
		{
			if (a[i] < a[i - 1])
			{
				Swap(&a[i], &a[i - 1]);
			}
		}
		end--;
	}
}

冒泡排序的特性总结:
1、时间复杂度:O(N^2)
2、空间复杂度:O(1)
3、稳定性:稳定

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!