当前位置: 首页 > news >正文

冒泡排序(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.lryc.cn/news/267964.html

相关文章:

  • Unity中Shader观察空间推导(在Shader中实现)
  • Hive04_DDL操作
  • odoo17核心概念view4——view.js
  • Centos7 openSSL
  • Web 安全之文件下载漏洞详解
  • 搬运机器人RFID传感器CNS-RFID-01|1S的RS485(MODBUS|HS协议)通讯连接方法
  • 使用ZMQ.proxy实现ZMQ PUB消息转发
  • 若依SQL Server开发使用教程
  • Mysql5.7服务器选项、系统变量和状态变量参考
  • 【Qt-Qss-Style】
  • 基于yolov8,制作停车位计数器(附源码)
  • C++设计模式:单例模式(饿汉式、懒汉式)
  • Django 访问前端页面一直在转异常:ReferenceError:axios is not defined
  • C语言中关于指针的理解
  • MySQL MVCC精讲
  • 如何快速删除pdf周围的空白
  • 蓝桥杯c/c++程序设计——数位排序
  • 【通讯录案例-搭建登录界面 Objective-C语言】
  • 二叉搜索树、AVL、红黑树、B树
  • 格密码:傅里叶矩阵
  • flex--伸缩性
  • linux中主从复制的架构和读写分离的方式
  • Ubuntu 22.04.3 Server 设置静态IP 通过修改yaml配置文件方法
  • EasyCVR无人机推流+人数统计AI算法,助力公共场所人群密度管控
  • Kotlin 接口
  • Qt前端技术:5.QSS
  • 在Centos7中利用Shell脚本:实现MySQL的数据备份
  • 大一C语言查缺补漏 12.24
  • 程序员宝典:常用的免费好物API
  • 关于“Python”的核心知识点整理大全41