排序

2023-10-26

桶排序

快,简单,但是浪费空间

memset(num,0,sizeof(num));
for(int i=1;i<=n;i++)
{
    scanf("%d",&t);
    num[t]++;
}
for(int i=1000;i>=1;i--)
    for(int j=1;j<=a[i];j++)
    {
        printf("%d",i);//由大到小输出
    }

冒泡排序

每次比较两个相邻的元素,如果它们的顺序错误就把它们交换 过来。
O(N 2) 时间复杂度较高

for(int i=1;i<=n;i++)
    scanf("%d",&a[i]);
for(int i=1;i<=n-1;i++)//n个数比较只需进行n-1轮
    for(int j=1;j<=n-i;j++)
    {
        if(a[j]<a[j+1]) swap(a[j],a[j+1]);
    }
for(int i=1;i<=n;i++)
    printf("%d",&a[i]);//从大到小

快排

平均时间复杂度为 O (NlogN),快速排序是基于 “二分” 的思想

void quicksort(int left,int right)
{
    if(left>right) return;
    int i,j,temp;
    temp=a[i];//基准数
    i=left;
    j=right;
    while(i!=j)
    {
        while(temp<=a[j]&&i<j)//先跑j
        j--;
        while(temp>=a[i]&&i<j)
        i++;
        if(i<j) swap(a[i],a[j]);
    }
    swap(a[i],a[left]);
    quicksort(left,i-1);
    quicksort(i+1,right);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

排序 的相关文章

  • C#中结构体排序方法(Array.sort() + ICompare)

    感觉C 比C 麻烦许多 资料也少 找了半天竟然没有找到一个能用的结构体排序 这是待排序的结构体 public struct la public int id public int sb 首先 C 需要调用一个空间 类似头文件 using S
  • JavaScript 实现数组中的字符串按长度排序,长度一样按字母顺序排序

    以下的newar数组里的val键值排序要求 字串按长度排序 长度一样按字母顺序排序 js实现数组中的字符串按长度排序 长度一样按字母顺序排序 function sortByLenByazAZVal array array sort a b
  • C++中sort函数详解

    原文链接点这 0 简介 sort函数用于C 中 对给定区间所有元素进行排序 默认为升序 也可进行降序排序 sort函数进行排序的时间复杂度为n log2n 比冒泡之类的排序算法效率要高 sort函数包含在头文件为 include的c 标准库
  • 基数排序-------C语言实现

    其他排序 堆排序 归并排序 插入排序和希尔排序 快速排序 冒泡排序和选择排序 基数排序 前备知识 注 我们知道 对于一个数如果我们想获取它得个位 只需对10取余 想获取十位的数 可以除10然后再对10取余 获取百位除100然后再对10取余
  • C语言归并排序算法

    今天我要和大家分享的是一个排序算法 归并算法 如果说快速排序是让一个数组分成很多小集体进行排序 那么归并排序就是让很多有序的小集体合成一个有序数组 思路 如果是升序 对于每一个数字来说其本身是有序的 最初让两个只有一个元素的数组arr1 a
  • 信息学奥赛一本通 1184:明明的随机数

    文章目录 1 排序 手动去重 2 排序 unique去重 3 利用桶的思想 题目链接 http ybt ssoier cn 8088 problem show php pid 1184 1 排序 手动去重 include
  • json 数组读取排序问题

    今天遇到一个依赖健值数组读取排序的问题 接口开发同事返回的json格式是这样的 我在小程序调用接口读取数组遍历之后发现排序乱了 price info 08 01 price 9999 booked 0 02 price 99999 book
  • 根据数字二进制下1的数目排序

    LeetCode 根据数字二进制下1的数目排序 给你一个整数数组 arr 请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序 如果存在多个数字二进制中 1 的数目相同 则必须将它们按照数值大小升序排列 请你返回排序后的数组 示例
  • Basic Level 1055 集体照 (25分)

    题目 拍集体照时队形很重要 这里对给定的 N 个人 K 排的队形设计排队规则如下 每排人数为 N K 向下取整 多出来的人全部站在最后一排 后排所有人的个子都不比前排任何人矮 每排中最高者站中间 中间位置为 m 2 1 其中 m 为该排人数
  • 算法训练 星际交流

    ALGO 28 星际交流 资源限制 时间限制 1 0s 内存限制 256 0MB 问题描述 人类终于登上了火星的土地并且见到了神秘的火星人 人类和火星人都无法理解对方的语言 但是我们的科学家发明了一种用数字交流的方法 这种交流方法是这样 的
  • mybatis 中 Example 的使用 :条件查询、排序、分页(三种分页方式 : RowBounds、PageHelpler 、limit )

    前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住分享一下给大家 点击跳转到教程 import tk mybatis mapper entity Example import com github pagehelper Pa
  • react native 实现拖拽排序

    先上效果图 意思意思 其实原理很简单 没有想的那么难 大家在改造的时候 请注意 this offset 的值 因为它关系到查找目标box的index 原理 手势释放时 所在的坐标值来推算出目标box的Index 本文代码可读性还需要改造 代
  • 数据结构中内部排序的各种比较

    排序算法中的稳定和不稳定指的是什么 若在待排序的纪录中 存在两个或两个以上的关键码值相等的纪录 经排序后这些记录的相对次序仍然保持不变 则称相应的排序方法是稳定的方法 否则是不稳定的方法 内部排序和外部排序 根据排序过程中涉及的存储器不同
  • 冒泡排序--数组的简单排序,从大到小,从小到大

    冒泡排序 是计算机程序中较为常见和简单的排序算法 它需要重复地走访需要进行排序的元素列 按照一定顺序依次比较两个相邻的元素 如果顺序错误就把他们交换过来 示意原图如下 我们需要的结果示意图如下 那我们应该怎么进行程序的编写才能满足这样的结果
  • C++ sort 排序(降序、升序)使用总结

    一 升序 C sort 函数十分方便 可以对内置类型也可对自定义类型进行快速排序 内置类型的使用比较简单 下面主要讨论自定义类型的排序 一般有如下几种使用方法 1 1 重载比较操作符 比如 我们现有一批学生 要根据他们的成绩进行升序排序 成
  • 数组(六)-- LC[1851] 包含每个查询的最小区间

    1 包含每个查询的最小区间 1 1 题目描述 给你一个二维整数数组 intervals 其中 i n t e r v a l
  • SmartRefreshLayout 嵌套reycleview 长按排序下拉刷新

    布局文件
  • 【算法】直接插入排序C语言实现

    不知道大家喜不喜欢打扑克 哈哈 我就挺喜欢的 尤其是三人斗地主 很喜欢 现在我来描述一幅画面看看大家熟不熟悉 我抓牌的习惯是 在抓牌的时候 我要看着我的牌 看看牌的状况 有没有大小鬼 有几个2 有没有长的连 顺便做好基本的排序工作 比如我第
  • Redis基础数据结构——有序集合

    Redis基础数据结构 有序集合 redis的有序集合zset类似于Java的SoretedSet和HashMap的结合体 一方面它是一个set 可以保证内部value的唯一性 另一方面它可以给每个value赋予一个score 代表这个sc
  • 插入排序超详解释,一看就懂

    目录 一 插入排序的相关概念 1 基本思想 2 基本操作 有序插入 二 插入排序的种类 三 直接插入排序 1 直接插入排序的过程 顺序查找法查找插入位置 2 使用 哨兵 直接插入排序 四 直接插入排序算法描述 五 折半插入排序 1 查找插入

随机推荐

  • char data[0]用法总结

    struct MyData int nLen char data 0 开始没有理解红色部分的内容 上网搜索下 发现用处很大 记录下来 在结构中 data是一个数组名 但该数组没有元素 该数组的真实地址紧随结构体MyData之后 而这个地址就
  • vue3中使用echarts饼状图,并且点击第一个饼状图某一块显示这部分信息的饼状图

    1 在项目中安装echarts npm install echarts save 2 引入echarts div div div div function initChart 基于准备好的dom 初始化echarts实例 var myCha
  • Python数据分析基础篇--NumPy

    大家好 我是小研 一个在研究生路上的苦行僧 今天给大家分享一下Python数据分析的Numpy基础 开启数据分析的基础篇 NumPy基础 NumPy Numerical Python的简称 是Python数值计算最重要的基础包 大多数提供科
  • 启动Elasticsearch服务,提示如下错误信息:maybe these locations are not writable or multiple nodes were started

    Elasticsearch 服务启动 提示错误信息 o e b ElasticsearchUncaughtExceptionHandler node 1 uncaught exception in thread main org elast
  • Qt5调用QPixmap::fromWinHICON

    QPixmap QPixmap fromWinHICON HICON icon static Win32 only Returns a QPixmap that is equivalent to the given icon Warning
  • 9、java5线程池之定时任务线程池newScheduledThreadPool与newSingleThreadScheduledExecutor

    JDK文档描述 newSingleThreadScheduledExecutor 创建一个单线程执行程序 它可安排在给定延迟后运行命令或者定期地执行 注意 如果因为在关闭前的执行期间出现失败而终止了此单个线程 那么如果需要 一个新线程会代替
  • Linux杂谈之sudo

    一 sudo配置文件 etc sudoers介绍 什么是sudo 1 sudo 的 英文全称 是 super user do 即以超级用户 root 用户 的方式执行命令 2 etc sudoers 是一个文本文件 只有 root用户 有该
  • 【Spark】Task、Partition、RDD等概念的理解

    有部分图和语句摘抄别的博客 有些理解是自己的补充的 梳理一下Spark中Task Partition RDD Node数 Executor数 core数目的关系和Application Driver Job Task Stage理解 1 B
  • ChatGPT 打字机效果原理

    一 背景 在初次使用 ChatGPT 时 我就被打字机的视觉效果吸引 总是感觉似曾相识 因为经常在一些科幻电影中看到 高级文明回传的信息在通讯设备的屏幕上以打字机效果逐步出现 在紧张的氛围下 输出人类可读的内容 拉动着观众的神经 一步步将故
  • IDM下载百度资源出现403的解决方法

    IDM下载百度资源出现403的解决方法 参考文章 1 IDM下载百度资源出现403的解决方法 2 https www cnblogs com aucy p 9567375 html 备忘一下
  • redis的五种数据结构

    reids官方命令集查询 http redis io commands redis整合各种语言案例查询 https github com josiahcarlson redis in action redis可以存储键和五种不同类型的值之间
  • 《Java面向对象程序设计》学习笔记

    最近备考某学校的 817程序设计Java 的专业课 在学习耿祥义老师的 Java面向对象程序设计 第3版 微课视频版 发一些自己的学习笔记到专栏 一篇文章对应书上一章 可能不会及时更新 见谅 笔记可能有错误 看看就得 现在懒得浓缩精炼了 以
  • RL

    Catalogue DQN Framework Application 1 1 Cartpole Introduction 1 2 Code 1 3 Result Reference DQN Framework The agent inte
  • Java 遍历集合时删除元素 快速失败和安全失败

    文章目录 遍历集合时删除元素 遍历集合时删除元素的五种操作 方式4分析 方式2和方式3分析 方式5分析 方式1分析 方式5再分析 快速失败和安全失败 快速失败 fail fast 安全失败 fail safe 附录 遍历集合时删除元素 遍历
  • Visual Studio 调试系列1 Debug 与 Release 模式

    系列目录 已更新最新开发文章 点击查看详细 Debug 模式 Debug 通常称为调试版本 它包含调试信息 并且不作任何优化 便于程序员调试程序 在Debug模式下调试 可以在断点处看到详细的调试提示信息 如下图 并且在输出目录中生成 De
  • vue3+ts使用websocket 实现实时推送消息

    因业务需要 做大屏页面某一处需要不断推送消息 采用websocket技术 1 新建socket ts 在utils文件夹下新建socket ts export default class Socket cb 存储回调函数 construct
  • 程序员会被 AI 替代吗?

    作者 阿文 责编 伍杏玲 出品 程序人生 coder life 程序人生 编者按 本文作者是运维工程师 为什么拥有IT技能的他会自称为 客服 的呢 一起来看看吧 客服 日常 笔者目前从事云计算行业的客户服务性岗位 虽然工作上需要用到各种技术
  • import引css,@import引入CSS文件的方法

    import引入CSS文件的方法 发布时间 2020 09 26 13 58 39 来源 亿速云 阅读 61 作者 小新 小编给大家分享一下 import引入CSS文件的方法 相信大部分人都还不怎么了解 因此分享这篇文章给大家参考一下 希望
  • Excel使用hlookup和offset实现动态查询报表

    文章目录 1 筛选器 2 hLookUp函数 3 sum offset函数 4 mod函数 效果图 数据源 文件下载 https download csdn net download diyangxia 85231108 1 筛选器 在年份
  • 排序

    桶排序 快 简单 但是浪费空间 memset num 0 sizeof num for int i 1 i lt n i scanf d t num t for int i 1000 i gt 1 i for int j 1 j lt a