bubble_sort

【报错】ImportError: libpython3.10.so.1.0: cannot open shared object file: No such file or directory ImportError: libpython3.10.so.1.0: cannot open shared object file: No such file or directory 阅读详情

       现在来讲下冒泡排序。

       基本思想:从一端开始,逐个比较相邻的两个元素,发现倒序即交换。

        贴下我的代码:(升序排列)

       代码一:(每次都首先将未排序的最小数冒到数组最前端)

#include<iostream>
using namespace std;

/*从数组末端开始*/
void bubble_sort(int a[],int n)  
{
	int i,j,temp;

	for(i=0;i<n-1;i++)    //i<n与i<n-1等效
	{
		for(j=n-1;j>i;j--)  
		{
			if(a[j]<a[j-1])
			{
				temp=a[j];
				a[j]=a[j-1];
				a[j-1]=temp;
			}
		}
	}
}

int main()
{
	int i,n;
	int a[100];

	while(cin>>n,n)  
	{
		for(i=0;i<n;i++)
			cin>>a[i];

		bubble_sort(a,n);

		for(i=0;i<n;i++)
			cout<<a[i]<<" ";

		cout<<endl<<endl;
	}

	return 0;
}


 

           代码二:(每次都将未排序的最大数首先冒到数组最后)

/*从数组首部开始*/
void bubble_sort(int a[],int n)  
{
	int i,j,temp;

	for(i=0;i<n-1;i++)   
	{
		for(j=0;j<n-1-i;j++)  
		{
			if(a[j]>a[j+1])
			{
				temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
		}
	}
}

        

           以上的两个代码都是"中规中矩"的,还有可以改善的余地。比如说,如果在某一趟比较中发现已经没有

对换了,则说明数组已经有序了。可以结束。以下代码中引入bool exchanged,来辅助判断某一次排序是否

进行了交换。

           代码三如下:

void bubble_sort(int a[],int n)   
{
	int i,j,temp;
	bool exchanged;   //用来判断每次是否进行了遍历

	i=1;
	do
	{
		exchanged=false;
		
		for(j=n-1;j>=i;j--)
		{
			if(a[j]<a[j-1])
			{
				temp=a[j];
				a[j]=a[j-1];
				a[j-1]=temp;

				exchanged=true;
			}
		}

		i++;
	}while(i<=n-1 && exchanged==true);
}

 

           再来分析下吧:

           以升序排列来分析哈。基本思想是从最后一个元素开始两两比较,如果后面的数比前面的数小,则调换

两数次序,直至比较到最后一个数。此时则确定一个最小数排到最前面了。那么,下次比较则可以不再比较该

数了。就是代码中的第二个for循环,for(j=n-1;j>i;j--)。第一个for循环则是记录已有多少个数已在确定位置了。

           Attiontion:

           ①冒泡排序也是种原地排序,只需temp这一辅助空间。

           ②冒泡排序的时间性能是O(n^2),空间性能是O(n)。

           ③冒泡排序每次可以确定一个数最终位置。如升序冒泡,每次第二个for循环都可以确定该次的最小数,并

将该最小数放在最前面。

基于ZYNQ的HP总线与DDR交互:实现PL与PS高效数据传输的完整指南 本文将深入探讨如何通过AXI HP总线实现PL与PS的DDR交互,结合代码示例、硬件配置与创新优化,助力开发者掌握这一关键技术。ZYNQ内部通过AXI HP接口直接连接PL与DDR控制器,PL通过AXI协议发送读写请求,绕过PS的CPU直接操作DDR。通过AXI HP总线实现PL与PS的DDR交互,开发者可充分发挥ZYNQ异构架构的优势。在Xilinx ZYNQ系列芯片中,PS(Processing System)与PL(Programmable Logic)的协同设计是其核心优势。 阅读详情

相关推荐

Springer期刊LaTeX模板中参考文献格式选择与编译错误的快速修复指南

本文针对Springer期刊LaTeX模板中参考文献编译后显示问号的常见问题,提供了快速修复指南。核心在于正确选择并配置与期刊匹配的参考文献格式文件(.bst),并执行标准的四步编译流程。文章详细解释了问题根源,并给出了从查找正确.bst文件到修改代码、执行编译的完整解决方案,帮助作者高效解决投稿中的技术障碍。

weixin_29266007的博客 402

【数据结构与算法】冒泡排序算法(BubbleSort)

C 语言,Python 语言和 Java 语言描述的冒泡排序算法,来看看它们之间的异同吧 !

深入挖掘,筑基为先;知其然,知其所以然。 7628

【从零开始学产品经理】项目立项实战(1)——基本方案与可行性分析:基于微信小程序的记账本

主要阶段:立项-设计-开发-测试-上线-运营-总结。

Ckiyvo的博客 3212

冒泡排序详解(Bubble Sort)

构造的过程就是将无序的序列构造成一个堆的过程。堆的定义是:对于任意一个非叶子节点 i,其左子节点为 2i+1,右子节点为 2i+2,且父节点的值大于等于(或小于等于)其子节点的值。因此,我们可以从最后一个非叶子节点开始,依次将其与其子节点比较,如果不满足堆的定义,则交换位置,直到整个序列构造成一个堆为止。排序的过程就是将堆顶元素与最后一个元素交换位置,然后将剩余元素重新构造成一个堆的过程。每次交换后,堆的大小减一,因此我们可以通过一个变量来记录堆的大小,从而将排序的过程限制在堆的范围内。

Wzill 1万+

Proteus仿真——电压比较器

电压比较器是一种对输入信号进行鉴别与比较的电路,是组成非正弦波发生电路的基本单元电路。常用电压比较器有如下几种:单限比较器、滞回比较器、窗口比较器、集成电压比较器等。

weixin_58745307的博客 3377

冒泡排序 (Bubble Sort)

定义 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。 对每一对相邻元素...

weixin_42077402的博客 7672

机器学习实战4-教育领域:学生成绩的可视化分析与成绩预测-详细分析

大家好,我是微学AI,今天给大家带来机器学习实战4-学生成绩的可视化分析与成绩预测,机器学习在教育中的应用具有很大的潜力,特别是在学生成绩的可视化分析与成绩预测方面。机器学习可以通过对学生的父母教育情况和学校表现等数据进行分析和挖掘,从而揭示潜在的学习模式和趋势。

微学AI的博客 7681

冒泡排序(Bubble Sort)以及选择排序(Selection Sort)和快速排序(Quick Sort)详细解析

!

2302_81249757的博客 2092

RK3588 hdmiout调试(一)

RK3588 hdmiout调试(一)

目前从事linux驱动开发,多交流多学习吧 5172

LPDDR6来了!带你一文看懂它和LPDDR5/5X的差距 + 技术演进逻辑全解析

🧠从速率到架构,从总线宽度到协议设计,LPDDR6 每一个改动都不是拍脑袋做的,它针对的是AI / HPC / 云计算 / 下一代笔记本平台的真实需求。作为工程师的我们,不仅要“用得上”,更要“测得准”,因为没有测试验证,就没有量产落地!🎯LPDDR6不是未来,而是现在进行时!

weixin_43199439的博客 2176

三大经典排序:冒泡排序(Bubble Sort)、快速排序(Quick Sort)、插入排序(Insertion Sort)

在计算机编程中,特别是在使用C语言这样的底层语言时,排序算法是非常基础且重要的。在众多排序算法中,有三种被广泛认为是经典的,它们各自在不同的场景下有着不同的应用和优势。这三种经典的排序算法是:冒泡排序(Bubble Sort)、快速排序(Quick Sort)、插入排序(Insertion Sort)。

qq_58341750的博客 2714

【异常】Codybuddy Error Code: 14003 too many requests 限流报错问题排查与解决指南

14003报错本质为服务端限流拦截,并非账号封禁或程序致命故障,90%以上的场景可通过等待冷却+规范使用行为解决。通过本文的排查步骤,可快速恢复工具使用,同时规避后续重复触发该问题。

奶爸的编程之路,也就一周冷个三天 1254

Bubble Sort

之前的代码,每一趟都只能往有序区放入一个元素,每一个元素都会要遍历,当列表为[9,8,7,1,2,3,4,5,6],这时如果需要对其进行升序排列,会发现,只需三趟就可以完成,但是原算法还是会逐个遍历,走完八趟,后面的五次是不变的,我们需要把后面不做修改的次数优化掉。在内层循环的if判断中加入exchange = True,意思是:如果在一趟中,有元素发生交换,exchange就变成True,没有发生交换就还是False。一趟排序完成后,则无序区减少一个数,有序区增加一个数。关键:趟数、无序区范围。

千禧年无敌优香大王的博客 366

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

动态规划——Bubble Sort Graph

Iahub recently has learned Bubble Sort, an algorithm that is used to sort a permutation with n elements a1, a2, ..., an in ascending order. He is bored of this so simple algorithm, so he invents his

LSC_333的博客 492

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

CodeForces 340D - Bubble Sort Graph

Iahub recently has learned Bubble Sort, an algorithm that is used tosort a permutation with n elements a1, a2, ..., an in ascending order. He is bored of this so simple algorithm, so heinvents his

里弗杰克 1047

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

hdu 5774 Bubble Sort(树状数组)

分析: 对于在位置ii的数字aia_i,假设它右边有fif_i个比它小的数字,它能被移动的最右边的位置是i+fii+f_i。 二个这个数字的最左边位置要么是它的起始位置,要么是它排序后的最终位置,所以它的最左边位置就是:min(ai,i)min(a_i, i)。 求fif_i用数组数组求逆序对的方法,求它左边有多少个比它小的数字然后计算出它右边比它小的数字个数即可。#include <cstd

JIBANCANYANG 444

多Agent终端会话管理看板:状态可视化与部署验证

终端会话管理与状态可视化是提升多进程开发效率的基础能力。其原理是把CLI agent从单个窗口标签中抽离为带名称、状态、输出流和生命周期的会话实体,由PTY托管进程并聚合展示运行、等待输入、报错退出等状态。技术价值在于降低多agent并行时的上下文切换成本,让长任务脱离前端窗口独立运行,并为输出留档、权限隔离和审计提供入口。典型应用场景包括AI编程中多agent并行开发、批量任务队列调度、团队共享调试环境与远程长任务托管。Herdr的实践围绕多agent终端会话聚合看板展开,覆盖本地与Docker部署、会话

weixin_34416649的博客 353

CodeForces - 322C Bubble Sort Graph

CodeForces - 322C Bubble Sort Graph 常规算法是n^2,会超时,但是这个超时的我写着其实已经很费劲了,然后这个其实用的是二分,今天爆零,最后放弃和我那不行的代码死磕,去看题解的了,b[j],存的是连续j个最小的末尾是几,看了半天,自己写数据,一步一步推了一页多纸才明白,真的是笨啊。 Iahub recently has learned Bubble Sort, a...

mandiheyanyu的博客 200

HDU 5775 Bubble Sort(冒泡排序)

HDU5775BubbleSort(冒泡排序) TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/65536K(Java/Others) ProblemDescription - 题目描述 Pisapermutationoftheintegersfrom1t...

190

Bubble Sort Graph

D. Bubble Sort Graph time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Iahub recently has learned Bubble Sort,an algorithm that is u

tian33133的专栏 743

函数bubble_sort改为函数模板

阅读下面程序,对代码进行分析,说明代码的执行过程,说明number_compare与number_move是干什么的(代码分析内容写在解题思路中),将函数bubble_sort改为函数模板的形式,使之能支持其他类型的数据,示例代码如下。number_compare用于记录排序过程中比较的次数,每一次比较两个相邻的元素,无论是否交换,值都会加一。number_move用于记录排序过程中实际发生交换的次数,只有发生交换时,其值才会加一。

2301_80744835的博客 377

codeforces 340D Bubble Sort Graph(dp,LIS)

转载请注明出处:http://www.cnblogs.com/fraud/ ——by fraud Bubble Sort Graph Iahub recently has learned Bubble Sort, an algorithm that is used to sort a permutation withnelementsa1,a2...

weixin_30642029的博客 163

java bubble sort_Java bubble sort

Review how to implement the bubble sorting...package com.pc.tmp;import java.util.ArrayList;import java.util.List;import java.util.Random;public class TryBubbleSort {/*** @param args*/public static voi...

weixin_34138673的博客 92

bubble sort

#include #define N 10 int source[N] = {1,5,3,2,7,9,4,10,6,8}; int main() { int j; for(j=1;j < N;j++) { int i = j - 1; int key = s

zhaodw2099的专栏 308
上一篇: HDU4144 TLE
下一篇: 文件流 学号排序
lulipeng_cpp
博客等级 码龄15年 169粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值