冒泡排序(C语言)

void BubbleSort(int arr[], int len)
{int i, j, temp;for (i = 0; i < len; i++){for (j = len - 1; j >= i; j--){if (arr[j] > arr[j + 1]){temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}
}

优化:

        设置标志位flag,如果发生了交换flag设置为true(1);如果没有交换就设置为false(0)。
这样当一轮比较结束后如果flag仍为false,即:这一轮没有发生交换,说明数据的顺序已经排好,没有必要继续进行下去。

void BubbleSort(int arr[], int len)
{int i, j, temp, flag = 1;for (i = 0; i < len && flag; i++){flag = 0;for (j = len - 1; j >= i; j--){if (arr[j] > arr[j + 1]){temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;flag = 1;}}}
}

时间复杂度:

\mathit{O(N^{2})}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/300576.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp中如何使用image图片

当在UniApp中使用图片时&#xff0c;可以通过<image>标签将图片显示在页面上。这个标签可以指定src属性来引用图片&#xff0c;并且可以通过mode属性来设置图片的显示模式。除此之外&#xff0c;还可以利用click事件来实现图片的点击事件。在编写代码时&#xff0c;要注意…

jenkins Job华为云EIP变更带宽

引言: 在数字化时代&#xff0c;云服务资源的弹性管理是企业降低运营成本、提高效率的关键手段。通过弹性公网IP&#xff08;EIP&#xff09;服务&#xff0c;企业可以实现按需计费&#xff0c;优化网络支出。然而&#xff0c;根据业务流量的不同阶段调整计费模式&#xff0c;…

vue data变量不能以“_”开头,否则会产生很多怪异问题

1、 比如给子组件赋值&#xff0c;子组件无法得到这个值&#xff08;也不是一直无法得到&#xff0c;设置后this.$forceUpdate() 居然可以得到&#xff09;&#xff0c; 更无法watch到 <zizujian :config"_config1"> </zizujian>this._config1 { ...…

Plantuml之活动图语法介绍(二十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

geemap学习笔记034:可视化地理空间数据--Time slider

前言 众多的遥感数据大都是时间序列数据&#xff0c;在时间尺度上如何更好地观察数据&#xff0c;下面就介绍一下Time slider工具的使用。 1 导入库并显示地图 import ee import geemap ee.Initialize()2 可视化植被数据 Map geemap.Map()collection (ee.ImageCollection…

spring初始化bean之后执行某个方法

这个问题可以分两种解释&#xff1a; 1. 某个bean初始化执行? 2. 所有bean初始化后执行? 第一个问题可以在spring bean的生命周期中找到答案&#xff1a; bean定义-实例化-初始化-销毁。注意&#xff1a; 这里的bean定义是指所有的bean定义完成&#xff0c;然后才继续执…

【Android性能优化】 应用启动优化

这篇文字其实没什么内容&#xff0c;就是介绍了一下冷启动跟热启动以及白屏。 启动流程 应用启动流程是指从启动到显示主界面这一段&#xff0c;全流程在下面的热启动介绍。 应用启动分为热启动跟冷启动。冷启动就是就是应用之前没有被点开过&#xff0c;或者点开之后又在最近…

力扣(leetcode)第21题合并两个有序链表(Python)

21.合并两个有序链表 题目链接&#xff1a;21.合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4] 示例 2&a…

B+树索引和哈希索引的区别?

B树是一个平衡的多叉树&#xff0c;从根节点到每个叶子节点的高度差值不超过1&#xff0c;而且同层级的节点间有指针相互链接&#xff0c;是有序的&#xff0c;如下图&#xff1a; 哈希索引就是采用一定的哈希算法&#xff0c;把键值换算成新的哈希值&#xff0c;检索时不需要类…

贪吃蛇小游戏的代码实现之知识点铺垫篇

今天给大家介绍一个很经典的小游戏&#xff0c;它和扫雷在经典小游戏这方面可以说是旗鼓相当&#xff0c;它的名字就是贪吃蛇。贪吃蛇游戏最初为单机模式&#xff0c;后续又陆续推出团战模式、赏金模式、挑战模式等多种玩法。该游戏具体玩法是&#xff1a;用游戏把子上下左右控…

xlua源码分析(四) lua访问C#的值类型

xlua源码分析&#xff08;四&#xff09; lua访问C#的值类型 上一节我们主要探讨了C#是如何使用interface和delegate访问lua层的table和function的&#xff0c;本节我们跟着Examples 05_NoGc&#xff0c;来看看xlua是如何实现lua层无gc访问C#的值类型的。 首先例子中用到的lua…

WizFi360-EVB-Pico评估版介绍

文章目录 1 概述2 硬件资源2.1 硬件规格2.2 引脚定义2.3 工作条件 3 参考资料3.1 Datasheet3.2 原理图3.3 尺寸图(单位 : mm) 3.4 参考例程 4 硬件协议栈优势 1 概述 WizFi360-EVB-Pico基于树莓派RP2040&#xff0c;并使用WizFi360增加Wi-Fi连接。它与树莓派Pico板引脚兼容&…