#include <stdio.h>
void Bubble_sort(int *Addr, int Length);
int main(void)
{
int a[8] = { 55, 68, 12, 3, 66, 64, 23, 14 };
int len;
len = sizeof(a) / sizeof(a[0]);
Bubble_sort(a, len);
printf("%d %d %d %d %d %d %d %d\n", a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]);
return 0;
}
void Bubble_sort(int *Addr, int Length)
{
int cycle, temp, i, n, j;
cycle = temp = 0;
j = Length;
for (i = 1; i < Length; ++i)
{
j -= 1;
for (n = 0; n < j; ++n)
{
if (Addr[n] > Addr[n + 1])
{
temp = Addr[n];
Addr[n] = Addr[n + 1];
Addr[n + 1] = temp;
}
cycle++;
}
//cycle++;
}
printf("Bubble_sort共执行了%d次循环\n", cycle);
return;
}
/*
vc2013:
*******************************
Bubble_sort共执行了28次循环
3 12 14 23 55 64 66 68
请按任意键继续. . .
*******************************
*/
相关推荐
DataEaseV2.9 本地开发环境搭建与调试指南
本文详细指导如何搭建DataEase V2.9的本地开发环境,涵盖从软件准备、源码获取、数据库初始化到在IDEA中配置、编译和调试的全过程。重点解决了本地运行环境的关键配置与常见问题,帮助开发者高效开启DataEase的定制化开发与二次开发。
冒泡排序
冒泡排序1.冒泡排序的比较原理2.冒泡排序的循环次数3.图解4.JS代码 个人理解有误还请指正。 1.冒泡排序的比较原理 有两次循环完成冒泡排序。比较方法是,第一轮第一次由第一个和第二个比较,第一轮第二次由第二个和第三个比较 外面的循环,是整体比较几轮。里面的循环是前一个数和后一个数比较的次数。 2.冒泡排序的循环次数 外面的轮数是整体数字减一(length-1)。里面的循环是随着轮次增加比较的数字减少(length-(轮数+1))。 外面循环的轮数是整体数字减一次,最后一次轮不用比较,最小的得出来了。 里
模拟ic入门——设计一个单极运放(一)单级运算放大器设计基础
主要介绍了单级运放的基本理论和使用场景
数据结构与算法-----冒泡排序
冒泡排序 1)算法 A.比较相邻的元素,如果第一个比第二个大就交换它们; B.对每一对相邻的元素都做同样的工作,从开始的第一对到结尾的最后一对。经过这一步,最后的元素是最大值; C.针对所有的元素重复以上步骤,除了最后一个; D.持续每次对越来越少的元素重复以上步骤,直到没有元素需要交换。 2)评价 平均时间复杂度O(N^2),稳定,对数据的有序性敏感。实现要点: 1 .如果有10个
python毕设 基于Web的中药材信息查询系统程序+论文
***(程序+源码+数据库+调试部署+开发环境)论文文档1,文末可获取,系统界面在最后面。****
激光三角测量法:斜射与直射式技术的原理与应用解析
本文深入解析激光三角测量法中斜射式与直射式技术的原理、应用及对比。斜射式适用于高精度小范围测量,尤其擅长处理反光表面;直射式则适合大范围位移检测,结构更简单。文章详细介绍了两种技术的光路分析、数学建模、应用场景及选型建议,并探讨了系统校准与误差分析方法,为工业检测领域提供实用参考。
Java算法之冒泡排序
举例:要排序的数组 int[] arr={7,9,8,4,5,1,6,3,2,0}; 从小到大排列: /* 冒泡排序 */ public class BubbleSort { public static void main(String[] args) { int[] arr={7,9,8,4,5,1,6,3,2,0}; for(int i=0;i<arr.lengt...
05-SA8155 QNX Display框架及代码分析(1)
显示是非常重要的一个模块,人机交互的桥梁。那么SA8155 Hypervisor显示是如何处理的呢。对处理流程非常的好奇O(∩_∩)O哈哈~。TODO。
“冒泡排序”算法
冒泡排序是最常用的一种排序算法,具有明显的规则性。
避开这5个坑!Tushare金融数据获取与分析的常见错误排查指南
本文详细解析了使用Tushare进行金融数据获取与分析时常见的5个问题,包括Token失效、数据缺失、频率限制、数据一致性和性能瓶颈,并提供了实用的解决方案和优化策略。通过Python代码示例和最佳实践,帮助金融数据分析师和量化开发者高效避开这些陷阱,提升工作效率。
Silvaco TCAD 2018安装后,如何配置TonyPlot 5.0.22.R并解决绘图报错?
本文详细介绍了在Windows系统上安装Silvaco TCAD 2018后,如何正确配置TonyPlot 5.0.22.R并解决常见的绘图报错问题。内容包括版本兼容性分析、环境变量设置、常见错误解决方案以及性能优化建议,帮助用户顺利完成仿真结果的可视化工作。
字串统计
1 #include<stdio.h> 2 #include<string.h> 3 4 //定义子串参数结构体 5 struct sub_str 6 { 7 char sstr[61]; //子串 8 int len; //子串长度 9 int times; //子串出现的次数 ...
4 轴穿越机 Mark5 机架全解析:从历史演进到电机桨叶选型指南
本文围绕 4 轴穿越机 Mark5 机架展开,先介绍其发展历程(2018 年初代到 2023 年五代,迭代优化轻量化、刚性与兼容性),再明确其核心参数(轴距 220mm、兼容 4-6 寸桨等)对电机桨叶的约束。 详解电机(KV 值、尺寸、推力等)与桨叶(尺寸、螺距、材质等)选型要点及匹配原则(高 KV 配小桨、低 KV 配大桨),给出推重比、功率等理论计算公式,结合新手练习、花飞、竞速、航拍等场景提供具体选型案例,最后提及安全、成本、法规等注意事项,为爱好者提供全面选型参考。
C语言实现冒泡排序算法
冒泡排序
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
ET2012新版免狗免安装绿色软件
ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,
ios算法之冒泡排序算法
百度百科解释 通过不断的走访需要排序的元素,依次比较两个相邻的元素。如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。这样重复的进行直到没有相邻元素需要交换,就算元素排序完成。名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名冒泡排序。 oc版本如下 oc Demo地址 #pragma mark - 冒泡排序 - (void)bubbleSortMethod{ int iCount =.
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
vb.net 教程 2-4 流程控制:循环语句 For each...Next
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 当需要为集合或数组的每个元素重复执行一组语句时,可以使用 For Each...Next 循环,通过For Each遍历出每个元素。 还是采用《流程控制:循环语句 For...Next》中的题目 一组数按照由小到大的顺序进行排序: Sub Main() '需要排序的数字在数组内 Dim source() As Integer = {32, 12, 44, ...
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
冒泡排序法
#include<iostream> using namespace std; void buttle_sort(int a[], int n) { int count1 = 0, count2 = 0, temp; //count1用来判断有多少循环,count2用来判断执行了多少次交换 bool flag = true; //用来判断正版第二层循环剩余元素是否已经有序 //屌丝版冒泡排序 for (int i = 0; i < n-1; ++i) { for (int
反转字符串、整形数组某个数字出现的次数、排序
反转字符串://三种实现方式 public String reverse1(String str){ return new StringBuilder(str).reverse().toString(); } public String reverse2(String str) { StringBuilder sb = new StringBuilder();
Java_62_冒泡排序_二分法_增强for循环_命令行参数
冒泡排序 int[] a6= {21,66,19,40,85,10,56,50,87,56,18,20,26,48,78}; System.out.println("\n"+Arrays.toString(a6)); int js2=0; int add2=0; for(int i=0;i<a6.length;...
蓝桥杯-最小交换次数
【代码】蓝桥杯-最小交换次数。
冒泡排序的实现,及其效率具象化
package self.training; import java.util.Arrays; public class BubbleSort { public static void main(String[] args) { /* * 冒泡排序的实现 * 原理:紧挨的两个数两两相比。例0和1;1和2;2和3…… * 用来观察运行效率、运行状态的代码可不写 * 此代码为升序 * 顺带练习.
python众数问题给定含有n个元素的多重集合s_南邮算法众数问题
基础算法题:给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数,多重集合S中重数最大的元素称为众数。例如。多重集合S的众数是2,其重数为3。要求对于给定的由n个自然数组成的多重集合S,计算S的众数及其重数。网络上流传着很多版本的算法思路,大多是使用分治法迭代或者递归来完成。但是对于这道题,可以使用更简明的方法(虽然时间复杂度我没有去比较,但是就思路来说,更容易解释)可以这样理解...
找出数组中出现次数最多的前N个数
本文介绍了如何用C++找出数组中出现次数最多的前N个数。解题步骤包括:1)设计结构体绑定数字和出现次数;2)遍历数组统计频次;3)使用冒泡排序对统计结果进行降序排序;4)输出前N个元素。文章分析了双层循环统计频次的实现细节,并指出该解法时间复杂度为O(n²)。最后提出优化思路,建议使用map/unordered_map和sort来提升效率,以及处理大数据时可采用优先队列。通过这个基础练习,读者可以深入理解底层逻辑,为后续学习STL容器打好基础。
冒泡算法(java实现)
public class maoPao { public static void main(String[] args) { int[] array = {2,5,8,4,7,6,9,1,3}; int m = 0; int n = 0; // 外部循环8次 i究竟是从大到小循环还是从小到大循环,视具体情况而定 for (int i = array.length-1;i > 0;i--) {
B4361 [GESP202506 四级] 排序
本文解析了GESP四级考试中的排序与最少相邻交换次数问题。题目要求将队伍按身高降序、体重降序排列,每次只能交换相邻同学,求最少交换次数。解题关键在于理解相邻交换的最少次数等于冒泡排序中的交换次数,即序列中的逆序对总数。文章详细分析了排序规则转化为代码逻辑的过程,包括定义比较条件和冒泡排序实现。代码解析部分说明了使用二维vector存储数据的原因,以及冒泡排序函数中的关键细节。时间复杂度分析表明该解法在题目限制下完全可行。最后总结了易错点及核心收获,强调掌握多关键字排序条件和相邻交换计数的实际应用价值。
B - 数据结构实验之排序二:交换排序
冒泡排序和快速排序都是基于"交换"进行的排序方法,你的任务是对题目给定的N个(长整型范围内的)整数从小到大排序,输出用冒泡和快排对这N个数排序分别需要进行的数据交换次数。输出数据占一行,代表冒泡排序和快速排序进行排序分别需要的交换次数,数字间以1个空格分隔,行末不得有多余空格。连续多组输入数据,每组数据第一行给出正整数N(N ≤ 10^5),随后给出N个整数,数字间以空格分隔。注意:数据相等时不做交换。
142



被折叠的 条评论
为什么被折叠?



