冒泡排序(C语言)

embedded/2024/9/23 7:30:49/

一、N-S流程图;

二、运算原理说明;

1、排序前数据;

a[10] = { 34, 67, 90, 43, 124, 87, 65, 99, 132, 26 };

2、运算过程;

i = 0; j < 9;

j = 0;

34 > 67(不成立,不执行转换), 90, 43, 124, 87, 65, 99, 132, 26;

j = 1;

34, 67 > 90(不成立,不执行转换), 43, 124, 87, 65, 99, 132, 26;

j = 2;

34, 67, 90 > 43(成立,交换位置), 124, 87, 65, 99, 132, 26;

34, 67, 43, 90, 124, 87, 65, 99, 132, 26;

j = 3;

34, 67, 43, 90 > 124(不成立,不执行转换), 87, 65, 99, 132, 26;

j = 4;

34, 67, 43, 90, 124 > 87(成立,交换位置), 65, 99, 132, 26;

34, 67, 43, 90, 87, 124, 65, 99, 132, 26;

j = 5;

34, 67, 43, 90, 87, 124 > 65(成立,交换位置), 99, 132, 26;

34, 67, 43, 90, 87, 65, 124, 99, 132, 26;

j = 6;

34, 67, 43, 90, 87, 65, 124 > 99(成立,交换位置), 132, 26;

34, 67, 43, 90, 87, 65, 99, 124, 132, 26;

j = 7;

34, 67, 43, 90, 87, 65, 99, 124 > 132(不成立,不执行转换), 26;

j = 8;

34, 67, 43, 90, 87, 65, 99, 124, 132 > 26(成立,交换位置);

34, 67, 43, 90, 87, 65, 99, 124, 26, 132;

i = 1; j < 8;

j = 0;

34 > 67(不成立,不执行转换), 43, 90, 87, 65, 99, 124, 26, 132;

j = 1;

34, 67 > 43(成立,交换位置), 90, 87, 65, 99, 124, 26, 132;

34, 43, 67, 90, 87, 65, 99, 124, 26, 132;

j = 2;

34, 43, 67 > 90(不成立,不执行转换), 87, 65, 99, 124, 26, 132;

j = 3;

34, 43, 67, 90 > 87(成立,交换位置), 65, 99, 124, 26, 132;

34, 43, 67, 87, 90, 65, 99, 124, 26, 132;

j = 4;

34, 43, 67, 87, 90 > 65(成立,交换位置), 99, 124, 26, 132;

34, 43, 67, 87, 65, 90,  99, 124, 26, 132;

j = 5;

34, 43, 67, 87, 65, 90 > 99(不成立,不执行转换), 124, 26, 132;

j = 6;

34, 43, 67, 87, 65, 90,  99 > 124(不成立,不执行操作), 26, 132;

j = 7;

34, 43, 67, 87, 65, 90,  99, 124 > 26(成立,交换位置), 132;

34, 43, 67, 87, 65, 90,  99, 26, 124, 132;

i = 2; j < 7;

j = 0;

34 > 43(不成立,不执行转换), 67, 87, 65, 90,  99, 26, 124, 132;

j = 1;

34, 43 > 67(不成立,不执行转换), 87, 65, 90,  99, 26, 124, 132;

j = 2;

34, 43, 67 > 87(不成立,不执行转换), 65, 90,  99, 26, 124, 132;

j = 3;

34, 43, 67, 87 > 65(成立, 交换位置), 90,  99, 26, 124, 132;

34, 43, 67, 65, 87,  90,  99, 26, 124, 132;

j = 4;

34, 43, 67, 65, 87 > 90(不成立,不执行转换),  99, 26, 124, 132;

j = 5;

34, 43, 67, 65, 87,  90 > 99(不成立,不执行转换), 26, 124, 132;

j = 6;

34, 43, 67, 65, 87,  90,  99 > 26(成立,交换位置), 124, 132;

34, 43, 67, 65, 87,  90, 26, 99, 124, 132;

i = 3; j < 6;

j = 0;

34 > 43(不成立,不执行转换), 67, 65, 87,  90, 26, 99, 124, 132;

j = 1;

34, 43 > 67(不成立,不执行转换), 65, 87,  90, 26, 99, 124, 132;

j = 2;

34, 43, 67 > 65(成立,交换位置), 87,  90, 26, 99, 124, 132;

34, 43, 65, 67, 87,  90, 26, 99, 124, 132;

j = 3;

34, 43, 67, 65 > 87(不成立,不执行转换),  90, 26, 99, 124, 132;

j = 4;

34, 43, 67, 65, 87 > 90(不成立,不执行转换), 26, 99, 124, 132;

j = 5;

34, 43, 67, 65, 87,  90 > 26(成立,交换位置), 99, 124, 132;

34, 43, 67, 65, 87, 26, 90, 99, 124, 132;

i = 4; j < 5;

j = 0;

34 > 43(不成立,不执行转换), 67, 65, 87, 26, 90, 99, 124, 132;

j = 1;

34, 43 > 67(不成立,不执行转换), 65, 87, 26, 90, 99, 124, 132;

j = 2;

34, 43, 67 > 65(成立,执行转换), 87, 26, 90, 99, 124, 132;

34, 43, 65, 67, 87, 26, 90, 99, 124, 132;

j = 3;

34, 43, 65, 67 > 87(不成立,不执行转换), 26, 90, 99, 124, 132;

j = 4;

34, 43, 65, 67, 87 > 26(成立,交换位置), 90, 99, 124, 132;

34, 43, 65, 67,26, 87, 90, 99, 124, 132;

i = 5; j < 4;

j = 0;

34 > 43(不成立,不执行转换), 65, 67,26, 87, 90, 99, 124, 132;

j = 1;

34, 43 > 65(不成立,不执行转换), 67,26, 87, 90, 99, 124, 132;

j = 2;

34, 43, 65 > 67(不成立,不执行转换), 26,  87, 90, 99, 124, 132;

j = 3;

34, 43, 65, 67 > 26(成立,交换位置), 87, 90, 99, 124, 132;

34, 43, 65, 26, 67,  87, 90, 99, 124, 132;

i = 6; j < 3;

j = 0;

34 > 43(不成立,不执行转换), 65, 26, 67,  87, 90, 99, 124, 132;

j = 1;

34, 43 > 65(不成立,不执行转换), 26, 67,  87, 90, 99, 124, 132;

j = 2;

34, 43, 65 > 26(成立,交换位置), 67,  87, 90, 99, 124, 132;

34, 43, 26, 65, 67,  87, 90, 99, 124, 132;

i = 7; j < 2;

j = 0;

34 > 43(不成立,不执行转换), 26, 65, 67,  87, 90, 99, 124, 132;

j = 1;

34, 43 > 26(成立,交换位置), 65, 67,  87, 90, 99, 124, 132;

34, 26, 43, 65, 67,  87, 90, 99, 124, 132;

i = 8; j < 1;

j = 0;

34 > 26(成立,交换位置), 43, 65, 67,  87, 90, 99, 124, 132;

26, 34, 43, 65, 67,  87, 90, 99, 124, 132;

3、排序运算后;

a[10] = { 34, 26, 43, 65, 67,  87, 90, 99, 124, 132 };

三、运行结果;

四、源代码;

# define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>int main()
{//初始化变量值;int a[10] = { 0 };int i = 0;int j = 0;int t = 0;//提示用户;printf("请输入10个数值:");//循环获取数值;for (i = 0; i < 10; i++){//获取;scanf("%d", &a[i]);}//换行;printf("\n");//循环冒泡排序;for (i = 0; i < 9; i++){//冒泡排序;for (j = 0; j < 9 - i; j++){//判断;if (a[j] > a[j + 1]){//交换;t = a[j];a[j] = a[j + 1];a[j + 1] = t;}}}//提示用户;printf("10个数按从小到大的顺序输出结果为:");//输出;for (i = 0; i < 10; i++){//打印;printf("%d ", a[i]);}return 0;
}


http://www.ppmy.cn/embedded/25525.html

相关文章

设计模式 工厂模式

文章目录 简单工厂模式简介简单工厂模式结构简单工厂模式实现工厂模式简介工厂模式结构工厂模式实现抽象工厂模式简介抽象工厂模式结构抽象工厂模式实现 简单工厂模式简介 简单工厂模式通过一个专门的工厂类来负责对象的创建&#xff0c;客户端只需要提供工厂类需要的参数&…

【代码问题】【Pytorch】训练模型时Loss为NaN或INF

解决方法或者问题排查&#xff1a; 加归一化层&#xff1a; 我的问题是我新增的一个模块与原来的模块得到的张量相加&#xff0c;原张量是归一化后的&#xff0c;我的没有&#xff1a; class Module(nn.Module):def __init__(self,dim,):super().__init__()# 新增一个LayerNo…

vue3【实用教程】声明响应式状态(含ref,reactive,toRef(),toRefs() 等)

Vue 3 中的数据基于 JavaScript Proxy (代理) 实现响应式 ( vue2 中的数据通过 Object.defineProperty() 方法和对数组变异方法的重写&#xff0c;实现响应式) 选项式 API 用 data 选项声明响应式状态&#xff0c;值为返回一个对象的函数。 在创建组件实例的时候会调用此函数函…

【ARMv9 DSU-120 系列 5 -- CHI Interface】

请阅读【Arm DynamIQ™ Shared Unit-120 专栏 】 文章目录 DSU-120 CHI BUSAddress Target Groups配置步骤映射和管理Hashing for CHI transaction distribution散列过程和地址目标组识别散列函数定义两个地址目标组的散列四个地址目标组的散列八个地址目标组的散列架构框图

va_start 与 va_end

在C语言中&#xff0c;当我们定义一个可变参数的函数时&#xff0c;我们需要一种方法来依次访问每个参数。va_start和va_end宏就是用来处理这些可变参数的。 va_start宏的作用是初始化一个va_list类型的变量&#xff0c;这个变量是用来存储和访问可变参数的。va_start应该在函…

数据结构-树和森林之间的转化

从树的二叉链表的定义可知&#xff0c;任何一棵和树对应的二叉树&#xff0c;其根节点的右子树必为空。这里我们举三个树&#xff0c;将这个由三个树组成的森林组成二叉树是这个样子的。 下面我们说明一下详细过程&#xff0c;首先将每个树转化为二叉的状态&#xff0c;如图所示…

linux jmeter ant下载并安装【2024-亲测】

环境 centos7 一、下载jmeter 在这里插入代码片wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.3.tgz --no-check-certificate解压 tar -zxvf apache-jmeter-5.6.3.tgz复制到安装目录、设置环境变量 vim /etc/profile添加环境变量&#xff0c;路径改成…

数据结构_时间复杂度

✨✨所属专栏&#xff1a;数据结构✨✨ ✨✨作者主页&#xff1a;嶔某✨✨ 什么是时间复杂度&#xff1f; 时间复杂度的定义&#xff1a;在计算机科学中&#xff0c;算法的时间复杂度是一个函数&#xff0c;它定量描述了该算法的运行时间。一个算法执行所耗费的时间&#xff0…