选择排序与冒泡排序的联系和区别

稳定性性能系列之五——Native Crash深度分析:工具实战 深入理解Native Crash的机制与分析方法,掌握addr2line、ndk-stack、gdb等核心工具的实战使用,学会从Tombstone文件中快速定位问题根因 阅读详情

选择排序

每一趟从待排序的 数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。   选择排序是不稳定的排序方法。

冒泡排序

冒泡排序(Bubble Sort),是一种 计算机科学领域的较简单的 排序算法。
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,故名。
由于冒泡排序简洁的特点,它通常被用来对于计算机程序设计入门的学生介绍算法的概念。
 

         
void select_sort(int *a, int n)
{
    register int i, j, min, t;
    for( i =0; i < n -1; i ++)
    {
        min = i; 
        //查找最小值
        for( j = i +1; j < n; j ++)
            if( a[min] > a[j])min = j; 
        //交换
        if( min != i)
        {
            t = a[min];
            a[min] = a[i];
            a[i] = t;
        }
    }
}

void bubbleSort(int arr[],int n)
{
    int i,j,t;
     for(i=0;i<n-1;i++)
        for(j=0;j<n-i-1;j++)
            if(arr[j+1]<arr[j])
            {
              t=arr[j+1];
              arr[j+1]=arr[j];
              arr[j]=t;
             }
}

冒泡排序总的平均时间复杂度为O\left(n^2\right) 。
n值较小时, 选择排序 比冒泡排序快。

DeepSeek 赋能智慧消防:以 AI 之力筑牢城市安全 “防火墙” 在数字化浪潮下,智慧消防系统亟需先进技术提升效能。DeepSeek 凭借 Transformer 架构与混合专家架构等核心技术,具备强大的多模态数据处理与智能决策能力,且支持本地化部署,保障数据安全。其在智慧消防领域的应用成效显著,从实现火灾风险动态感知与早期精准预警,到优化智能接警调度、设备健康管理,再到辅助应急指挥与疏散,有效降低火灾风险与事故损失。未来,DeepSeek 有望在智慧消防领域持续拓展,同时也需应对技术、数据等多方面挑战。 阅读详情

相关推荐

NR/5G - On demand SI

NR中系统消息如MIB -可用于无线帧同步等,SIB1 -小区物理信道公共配置等,是驻留一个小区所必需获得的信息,这类系统信息小区是进行周期性广播。 在SI的配置中,系统消息分为BroadCasting和non-BroadCasting,BroadCasting类系统消息基站也是周期性进行广播的,而non-BroadCasting类系统消息则是通过一种on-demand的方式,即如果需要读取这类系统消息,那么UE需要先发送请求给基站,基站响应UE之后,再下发系统消息。 ...

6774

冒泡排序和选择排序的区别

一: 区别 1.冒泡排序是比较相邻位置的两个数,而选择排序是按顺序比较,找最大值或者最小值; 2.冒泡排序每一轮比较后,位置不对都需要换位置,选择排序每一轮比较都只需要换一次位置; 3.冒泡排序是通过数去找位置,选择排序是给定位置去找数; 二: 冒泡排序优缺点 1.优点:比较简单,空间复杂度较低,是稳定的; 2.缺点:时间复杂度太高,效率慢; 三: 选择排序优缺点 1.优点:一轮比较只需要换一次位置; 2.缺点:效率慢,不稳定(举个例子5,8,5,...

weixin_58078092的博客 2万+

HFSS/ADS仿真实操:手把手调优一个2.4GHz SAW滤波器的IDT结构

本文详细介绍了使用HFSS和ADS仿真工具优化2.4GHz表面声波滤波器(SAW)的IDT结构。从材料参数设置到IDT建模,再到参数化扫描与频率调谐,提供了实用的操作步骤和优化技巧,帮助工程师快速掌握SAW滤波器的设计方案与性能调优方法。

weixin_29197835的博客 530

冒泡排序与选择排序的区别分析

冒泡排序与选择排序的区别 冒泡排序与选择排序很类似,有些初学者不注意很容易将两者混淆,因此想写一篇博客,详解两种排序算法的区别。 1. 冒泡排序 1.1 原理 冒泡排序属于一种典型的交换排序。冒泡排序的思想就是利用的比较交换,利用循环将第 i 小或者大的元素归位,归位操作利用的是对 n 个元素中相邻的两个进行比较,如果顺序正确就不交换,如果顺序错误就进行位置的交换。通过重复的循环访问数组,直到没有可以交换的元素,那么整个排序就已经完成了。 1.2 示例 通过一个示例来理解冒泡排序,假设有一个数组 a[

coldplay19921221的博客 4926

使用Python的OpenCV库进行三维重建点云

通过这些步骤,我们可以使用Python的OpenCV库进行三维重建,并生成对应的点云。当然,这只是一个简单的示例,实际的三维重建可能涉及更多的图像处理和计算步骤。在计算机视觉领域,三维重建是一项重要的任务,它可以将多个二维图像或视频序列转换为三维场景模型。在本文中,我们将介绍如何使用Python的OpenCV库进行三维重建,并生成相应的点云。以上是使用Python的OpenCV库进行三维重建点云的简要介绍和示例代码。最后,我们可以将计算得到的三维点云可视化。安装完成后,我们可以开始编写代码。

AuSwift的博客 1646

[STC32G144K246入门第一步]点亮LED

STC32G144K246是一款高性能32位8051单片机,集成了丰富外设资源,适用于工业控制和复杂算法处理。该芯片支持双模式内核,内置硬件加速器,提供246KB Flash和144KB SRAM存储空间。文章详细介绍了开发环境搭建步骤、寄存器配置方法,并给出了LED驱动示例代码,通过推挽输出控制P42口实现闪烁效果。虽然开发环境相比ARM存在不足,但通过合理配置仍可满足项目需求。该教程为开发者快速上手STC32G144K246提供了实用参考。

sinat_58149788的博客 795

冒泡排序和选择排序的不同

排序是计算机程序中的主要任务之一,数组的元素按特定顺序排列。排序使搜索更容易。冒泡排序和选择排序是排序算法,可以通过它们使用的排序方法加以区分。冒泡排序本质上是交换元素,而选择排序通过选择元素来执行排序。     二者的另一个显著区别是冒泡排序是一种稳定的算法,而选择排序是一种不稳定的算法。稳定的意思是,在列表或数组排序前后,具有相同值的记录以相同的顺序出现。一般来说,大多数稳定快速的算法都使用额外的内存。

运维狗的备忘录 1万+

opencv案例实战——银行卡模式匹配识别

在之前的几篇文章中我们已经介绍了opencv的一些基础知识,本篇文章我们将结合一个案例运用之前的知识并且学习opencv中模式匹配的应用,用到的知识点如果有不清楚的可以查看上面列出来的系列文章。具体代码会放在最后。

艾醒的博客 1337

排序算法---冒泡排序、插入排序、选择排序

时间复杂度为O()的排序算法:冒泡排序、插入排序、选择排序 这三个算法都有一个共同点,即可以把数组分解成两部分:已排序部分和未排序部分,我会用已排序数组和未排序数组替代。每次循环都是从未排序数组中获取一个数据元素放入已排序数组。只是放入的方式不一样而已。 冒泡排序:未排序数组中的数据两两比较。把最大的数据元素放入未排序数组的最后,也就是已排序数据的第一个位置。 插入排序:取出未排序数组的第一个元素,放入已排序数组的最后,与已排序数组的中的数据数据元素进行计较,插入正确位置 选择排序:从未排序数组中获

铭 1043

BUG调试案例一:RK3588+YT8531网络无法PING通调试案例

在使用 RK3588 搭配 YT8531S PHY 芯片进行网络调试时,遇到了“网络无法 Ping 通”的棘手问题。排查了两天,终于找到问题原因。为了避免大家在类似项目中走弯路,也为了加深自己对调试细节的理解,我们特意整理了本次问题的完整排查过程。本篇文章将围绕以下四个方面展开分享: 问题现象&描述 调试过程&分析 问题根源定位 注意事项提醒 举一反三(走两步)

案例文章,高速信号 2335

《30天入门 SAP BTP 开发》教程的目录和使用说明,建议收藏

本教程分为两部分:第一部分为SAP BTP入门系列,包含从基础概念到操作步骤的系统性学习内容,建议零基础用户按顺序学习;第二部分为专题文章集合,涵盖SAP BTP的多个技术点,适合已有基础的用户按需查阅。教程包含账号申请、Global Account操作、Java应用开发、AI工具使用等丰富内容,同时解答常见问题并提供实战案例。所有文章均附带详细链接,便于读者系统学习或针对性查阅。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4377

交换排序——选择排序和冒泡排序的区别是什么?

冒泡排序属于交换排序算法的一种;选择排序算法是原地排序算法的一种;冒泡排序的核心思想是把相邻的元素进行两两比较,当一个元素大于右侧相邻的元素时,就交换它们的位置;当一个元素小于或等于右侧相邻的元素时,则保持位置不变。选择排序的实现思想,就是不断地从未排序的元素中选择最大(或最小)的元素,放入到已排好序的元素集合中,直到未排序的元素为空。两者的区别简单了说就是冒泡排序在比较的过程中待排序的数据会发生位置改变,而选择排序法在比较过程中,是记录较大/较小数据的索引,只有在找到最大/最小数据的时候才会发生交换。

weixin_62458944的博客 1975

基于STM32的智能宠物喂食系统设计与实现(代码+PCB )

STM32;DHT11;本系统的软件程序基于Keil MDK-ARM V5集成开发环境进行编写和编译。Keil MDK是ARM公司官方推荐的嵌入式开发工具,支持ARM Cortex-M系列微控制器的程序开发,内置ARM C/C++编译器、调试器和仿真器,具有代码编辑、语法高亮、工程管理和在线调试等功能,是STM32开发领域应用最为广泛的IDE之一。

3254968421的博客 72

冒泡排序和选择排序的原理图解、代码实现、以及两者区别详解

很多小伙伴对冒泡排序和选择排序傻傻分不清楚,今天我把这两个排序放在一起,希望能帮助大家更好的理解它们! 一、冒泡排序: 1、排序原理 从左到右,数组中相邻的两个元素进行比较,将较大的放到后面。 2、原理图 例如:int [] a = {3,7,6,4,2}; 第一轮排序:比较了4次,本轮排序结束后数组变成了{3,6,4,2,7},如下图: ...

百里慕溪 6992

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

c语言冒泡排序_冒泡排序和选择排序的区别

初学c语言不久,发现好多同学对选择排序和冒泡排序傻傻分不清楚,在这里斗胆对它们的区别作出解释,也是对自己的学习成果作出检验,欢迎个位作出批评指正。冒泡排序用简单的话来讲就是,从左往右,两两相互比较大小,左边的大就交换位置,循环往复,把较大的放后面。下面是冒泡排序图解冒泡排序图解下面是冒泡排序的代码实现冒泡排序代码实现选择排序也用简单的话来说,就是从第一个数开始,与后面所有的数相比较,找出最小的数,...

weixin_39604819的博客 1435

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python选择排序和冒泡排序的区别_python算法之冒泡排序和选择排序

一、冒泡排序(Bubble sort)Bubble sort, sometimes referred to as sinking sort, is a simple sorting algorithm that repeatedly steps through the list to be sorted, compares each pair of adjacent items and swaps...

weixin_39866087的博客 529

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Python中选择排序和冒泡排序的区别

Python中选择排序和冒泡排序的区别

m0_74346238的博客 865

排序:选择排序和冒泡排序的区别

参考文章:https://www.cnblogs.com/Good-good-stady-day-day-up/p/9055698.html 感谢yangkaif博客园的博主,把您的文章给引用一下。 那么好,咱们言归正传,首先说下这个冒泡排序: 冒泡排序:冒泡排序的定义就不提了,总结起来就一句话(划重点):,从左到右,数组中相邻的两个元素进行比较,将较大的放到后面。 我们从下面这个例子中去学习下冒泡排序; 例如:有一个int [] a={2,6,5,3,1}; ...

weixin_41057317的博客 312

冒泡排序和选择排序的用法以及区别

冒泡排序和选择排序的用法以及区别 冒泡排序 冒泡排序的是通过在排序过程中对相邻的元素进行两两比较,将较大(或较小)的元素经过交换慢慢“浮”到数组的最前面,像气泡一样慢慢浮起。 代码如下: for (i = 0; i < a; ++i) { for (j =i; j >a-1; ++j) { if (array[j]>array[j+1]) { tem...

ffdsafsd的博客 212

冒泡排序和选择排序区别

冒泡排序和选择排序区别 1.稳定性 冒泡排序稳定排序。(例如 1,2,3,2,4 排完序后两个2,2 先后顺序不变) 选择排序不稳定排序。 2.都属于比较排序,交换成本不同。 冒泡排序需要相邻元素比较,如果当前元素大于后一个元素进行交换。 选择排序,先选择后交换,减少交换次数。 import java.util.Arrays; /** * @program:tpb * @description:冒泡排序 比较相邻的元素。如果第一个比第二个大,就交换他们两个,稳定排序 ...

技术分子博客 3502

选择排序和冒泡排序方法以及区别

    我来讲讲我学习选择排序和冒泡排序的一些心得体会,这两个方法都可以排序,看起来也有点相似,容易搞混,其实区别也是比较明显的。    选择排序通俗点说就是一列数中,用第一个位置的数和后面位置的数依次去比较。如果从大到小排序就是第一位置的数和后面的依次比较,例如第一位置的数大于第二位置,那么不交换位置,第一位置继续和第三位置比较,如果第三位置的数大于第一位置,那么第三位置的数就到了第一位置,第一...

luxusbo的博客 474

冒泡排序和选择排序区别_董小姐花痴记——冒泡排序与选择排序

  hello,小伙伴们大家好,新开的《董小姐花痴记》系列从今天开始就正式登场和大家见面啦~主要讲算法知识,而之前的《邓哥奇遇记》系列主要讲网络知识,不过大家不用担心,《邓哥奇遇记》系列没有停止,还会继续更新哦~  排序是算法的世界里最基础的问题,而冒泡排序和选择排序是排序算法里最简单的排序算法~很多同学经常弄混两种排序,今天我们就来详细探究冒泡排序和选择排序的区别~   在文章开篇之前,我们还是...

weixin_39840235的博客 82
上一篇: 杭电1042 大数阶乘 JAVA
下一篇: java术语(PO/POJO/VO/BO/DAO/DTO)
HollisChuang
博客等级 码龄14年 14粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值