回顾冒泡排序

冒泡排序

冒泡排序的核心:

我认为冒泡的核心是双层循环。

外循环不论是用while还是for,它本质控制的都是趟数。

而内循环实现的是相邻两数之间的比较。

排升序时:

每执行一次内循环,都会有一个最大的数往后边的位置放。

内循环中要注意 j的取值,

j取1:a[j]和a[j-1]比较时,j的取值为[1,n-1](第一趟时)

代码:

void bubble_sort(int* a, int n)
{
	int end = n;
	
	while (end)
	{
		int j = 1;
		int flag = 0;
		for (; j < end; ++j)
		{
			if (a[j - 1] > a[j])
			{
				swap(a[j - 1], a[j]);
				flag = 1;
			}
		}
		if (flag == 0)
		{
			break;
		}
		--end;
	}
}

flag的存在,在排有序数组时,可以提高代码的效率。

相关推荐

  1. 回顾冒泡排序

    2024-04-06 15:54:03       47 阅读
  2. 排序算法——冒泡排序

    2024-04-06 15:54:03       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-06 15:54:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-06 15:54:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-06 15:54:03       87 阅读
  4. Python语言-面向对象

    2024-04-06 15:54:03       96 阅读

热门阅读

  1. 【Golang】Golang超级实用的代码流

    2024-04-06 15:54:03       32 阅读
  2. 数据类型转换形式

    2024-04-06 15:54:03       40 阅读
  3. MFC:滑块控件与进度条控件的使用

    2024-04-06 15:54:03       39 阅读
  4. eNSP配置命令笔记

    2024-04-06 15:54:03       44 阅读
  5. 达梦数据库同步工具DMHS快速安装

    2024-04-06 15:54:03       58 阅读
  6. 【Servlet】session保存作用域

    2024-04-06 15:54:03       34 阅读
  7. pytorch 中 nn.ModuleList()使用说明

    2024-04-06 15:54:03       41 阅读
  8. matlab函数化简和函数极限

    2024-04-06 15:54:03       36 阅读
  9. pytorch训练流程 | 简单示例

    2024-04-06 15:54:03       35 阅读