【C语言】冒泡排序

概念

冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的列表,一次比较两个元素,并且如果它们的顺序错误就把它们交换过来。通过多次的遍历和比较,最大(或最小)的元素会逐渐“浮”到数列的顶端,因此得名“冒泡排序”。

在这里插入图片描述

代码

方法一:数组

#include<stdio.h>void Print(int arr[], int size)
{for (int i = 0; i < size; i++){printf("%d ", arr[i]);}printf("\n");
}void Sort(int* p1, int* p2)
{*p1 = *p1 ^ *p2;*p2 = *p1 ^ *p2;*p1 = *p1 ^ *p2;
}void BubbleSort(int arr[],int size)
{int flag = 1;for (int i = 0; i < size - 1; i++){for (int j = 0; j < size - 1 - i; j++){if (arr[j] > arr[j + 1]){Sort(&arr[j], &arr[j + 1]);flag = 0;}}if (flag){break;}}
}int main()
{int arr[] = { 34,64,82,41,25 };Print(arr, 5);BubbleSort(arr, 5);Print(arr, 5);return 0;
}

方法二:指针

#include<stdio.h>void printf(int* p, int sz)
{for (int i = 0; i < sz; i++){printf("%d ", *p++);}printf("\n");
}void BubbleSort(int* p, int sz)
{int flag = 1;for (int i = 0; i < sz-1; i++){for (int j = 0; j < sz - 1 - i; j++){if (*(p + j) > *(p + j + 1)){*(p + j) = *(p + j) ^ *(p + j + 1);*(p + j + 1) = *(p + j) ^ *(p + j + 1);*(p + j) = *(p + j) ^ *(p + j + 1);flag = 0;}}if (flag){break;}}
}int main()
{int arr[] = { 23,64,3,7,34,25 };int sz = sizeof(arr) / sizeof(arr[0]);printf(arr, sz);BubbleSort(arr, sz);printf(arr, sz);return 0;
}

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

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

相关文章

数智化转型的新篇章:企业如何在「数据飞轮」理念中寻求增长?_光点科技

在当今的数字化浪潮中&#xff0c;企业对数据的渴求与日俱增。数据不再仅是辅助决策的工具&#xff0c;而是成为推动业务增长的核心动力。自从「数据中台」概念降温后&#xff0c;企业纷纷探寻新的数智化路径。在这个过程中&#xff0c;「数据飞轮」作为一种新兴的理念&#xf…

Blazor系统教程(.net8)

Blazor系统教程 1.认识 Blazor 简单来讲&#xff0c;Blazor旨在使用C#来替代JavaScript的Web应用程序的UI框架。其主要优势有&#xff1a; 使用C#编写代码&#xff0c;这可提高应用开发和维护的效率利用现有的NET库生态系统受益于NET的性能、可靠性和安全性与新式托管平台(如…

第三方软件测试报告有效期是多久?专业软件测试报告获取

第三方软件测试报告是在软件开发过程中&#xff0c;由独立的第三方机构对软件进行全面测试和评估后发布的报告。这些第三方机构通常是与软件开发商和用户无关的专业技术机构&#xff0c;具备丰富的测试经验和专业知识。    第三方测试报告具有以下几个好处&#xff1a;   …

阿里云Linux系统MySQL8忘记密码修改密码

相关版本 操作系统&#xff1a;Alibaba Cloud Linux 3.2104 LTS 64位MySQL&#xff1a;mysql Ver 8.0.34 for Linux on x86_64 (Source distribution) MySQL版本可通过下方命令查询 mysql --version一、修改my.cnf文件 文件位置&#xff1a;etc/my.cnf进入远程连接后可以打…

落地灯哪个牌子好?实机测评喜爱度爆表的五款落地灯!

近些年来&#xff0c;由于使用电子产品以及学习压力大的人越来越多&#xff0c;而且越加年轻化&#xff0c;而平时用眼时的不良光线影响着人们的视力健康&#xff0c;不少眼科专家都推荐使用能够带来更好光线效果的落地灯&#xff0c;对此&#xff0c;作为专业的电器测评员&…

Pygame教程05:帧动画原理+边界值检测,让小球来回上下运动

------------★Pygame系列教程★------------ Pygame教程01&#xff1a;初识pygame游戏模块 Pygame教程02&#xff1a;图片的加载缩放旋转显示操作 Pygame教程03&#xff1a;文本显示字体加载transform方法 Pygame教程04&#xff1a;draw方法绘制矩形、多边形、圆、椭圆、弧…

Context

在 Android 开发中&#xff0c;Context 是一个表示应用程序环境的类&#xff0c;它提供了访问应用程序资源和执行应用程序级操作的接口。它是一个抽象类&#xff0c;具体的实现类是 ContextImpl。 Context 类的实例在整个 Android 应用程序中广泛使用&#xff0c;它可以用于执…

Linux-socket套接字

前言 在当今数字化时代&#xff0c;网络通信作为连接世界的桥梁&#xff0c;成为计算机科学领域中至关重要的一部分。理解网络编程是每一位程序员必备的技能之一&#xff0c;而掌握套接字编程则是深入了解网络通信的关键。本博客将深入讨论套接字编程中的基本概念、常见API以及…

国际数字影像产业园:全面推进“AI+”行动,加快标准建设,厚植创新沃土

人工智能作为数字经济时代的重要基础设施、关键技术、先导产业以及赋能引擎&#xff0c;将长期为我国各行业转型升级和数字经济发展提供核心驱动力。树莓集团总部国际数字影像产业园&#xff0c;作为新时代科技与数字产业的交汇点&#xff0c;正全面推进“AI”行动&#xff0c;…

小白在VMware Workstation Pro上安装部署SinoDB V16.8

一、安装环境说明 CPU&#xff1a;2核或以上&#xff0c;内存&#xff1a;2G或以上&#xff1b;磁盘10G或以上&#xff1b;网卡&#xff1a;千兆 1.1检查服务器内存大小 命令&#xff1a;free -m 1.2检查服务器磁盘空间大小 命令&#xff1a;df -h 1.3检查服务器网络配置信息 命…

Linux系统安装Dashy服务结合内网穿透实现公网访问本地导航页

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务&#xff0c;具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起&#xff0c;形成自己的导航…

OPENWRT本地局域网模拟域名多IP

本地配置MINIO服务时&#xff0c;会遇到域名多IP的需求。当某一个节点失效时&#xff0c;可以通过域名访问平滑过渡到其它的节点继续服务。 【MINIO搭建过程略】 搭建完毕后&#xff0c;有4个节点&#xff0c;对应的docker搭建命令&#xff1a; docker run --nethost --rest…

基于OpenCV的图形分析辨认05(补充)

目录 一、前言 二、实验内容 三、实验过程 一、前言 编程语言&#xff1a;Python&#xff0c;编程软件&#xff1a;vscode或pycharm&#xff0c;必备的第三方库&#xff1a;OpenCV&#xff0c;numpy&#xff0c;matplotlib&#xff0c;os等等。 关于OpenCV&#xff0c;num…

第十二篇 - IAB 标准技术条款和定义-我为什么要翻译介绍美国人工智能科技巨头IAB公司?

前言 这是2021年IAB公司发布的《市场营销人工智能使用案例及最佳实践报告》的最后一篇译文。翻译工作不难&#xff0c;但是非常考验一个人的态度&#xff0c;需要译者忠于自己的初心&#xff0c;严谨对待所有文字、数据、信息、技术和观点。时代变化如此之快&#xff0c;3年前…

学生信息管理展示-h5版(uniapp+springboot+vue)

记录一下做的第一个完整的h5业务。 一、登录 二、个人中心 三、首页&#xff08;管理员&#xff09; 四、首页&#xff08;学生&#xff09; 五、视频展示 学生信息管理展示&#xff08;h5&#xff09;完整版

人工智能英文缩写术语

人工智能术语&#xff1a; FFNN FFNN&#xff1a;feedforward neural network&#xff0c;前馈神经网络&#xff1b; RNN RNN&#xff1a;Recurrent Neural Network&#xff0c;循环神经网络 CNN CNN&#xff1a;Convolutional Neural Network&#xff0c;卷积神经网络 在…

京东数据分析平台(京东店铺数据分析工具)推荐

京东店铺数据分析能够帮助商家了解自己的经营状况&#xff0c;优化商品策略&#xff0c;提高销售效率。以下是京东店铺数据分析的一些基本步骤和方法&#xff1a; 首先&#xff0c;在进行京东店铺数据分析时&#xff0c;我们需要借助一些电商数据分析工具来获取相关数据&#…

Linux Ubuntu部署SVN服务端结合内网穿透实现客户端公网访问

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…

2016年认证杯SPSSPRO杯数学建模C题(第一阶段)如何有效的抑制校园霸凌事件的发生解题全过程文档及程序

2016年认证杯SPSSPRO杯数学建模 C题 如何有效的抑制校园霸凌事件的发生 原题再现&#xff1a; 近年来&#xff0c;我国发生的多起校园霸凌事件在媒体的报道下引发了许多国人的关注。霸凌事件对学生身体和精神上的影响是极为严重而长远的&#xff0c;因此对于这些情况我们应该…

Openwrt(IstoreOS)安装iventoy

背景 目前家里有两台不用的旧主机&#xff0c;平时没事在家里折腾这两台机器。经常换装各种系统。最早是将镜像刷入u盘作为启动盘&#xff0c;这样需要重复装系统就特别麻烦。后来用了ventoy以后一个U盘可以放多个系统镜像&#xff0c;还能做口袋系统&#xff08;SystemToGo&a…