《啊哈算法》学习——桶排序

2023-11-03

学习啊哈算法第一天,第一章第一节最快最简单的桶排序

问题描述

班级五名同学的分数排序,十分制

问题分析及思路

借助大小为10的一维数组,初始化为0,意味该分数没有人得,接下来处理分数,如有两个人得5分,即将a[5]=2;

记录下分数即出现次数后进行输出,出现几次就打印几次。

代码实现

从小到大输出

#include <stdio.h>
int main() {
    int a[11]; int i, j;
    for (i = 0; i < 10; i++) {        //初始化
        a[i] = 0;
    }
    for (i = 0; i < 5; i++) {        //记录分数及重复次数,共五个人
        scanf_s("%d", &j);
        a[j]++;
    }
    for (i = 0; i < 10; i++) {
        int k = a[i];
        while (k > 0) {
            printf("%d", i);
            k--;
        }
    }
    return 0;
}

运行结果如下

从大到小输出

#include <stdio.h>
int main() {
    int a[11]; int i, j;
    for (i = 0; i < 10; i++) {        //初始化
        a[i] = 0;
    }
    for (i = 0; i < 5; i++) {        //记录分数及重复次数,共五个人
        scanf_s("%d", &j);
        a[j]++;
    }

    for (i = 10; i>=0 ; i--) {            //从大到小输出
        int k = a[i];
        while (k > 0) {
            printf("%d", i);
            k--;
        }
    }
    return 0;
}

运行结果如下

问题记录及复盘

思路不同之处

书上对于输出采用两个for循环

for(i=0;i<=10;i++){
    for(j=1;j<a[i];j++){
        printf("%d:,i);
    }
}

scanf返回值被忽略问题

由于scanf()在读取时不检查边界,有内存泄漏风险。于是Microsoft公司在VS编译器中提供了scanf_s()。

其他方法链接:

https://blog.csdn.net/m0_61083409/article/details/125242740?ops_request_misc=&request_id=&biz_id=102&utm_term=%E8%BF%94%E5%9B%9E%E5%80%BC%E8%A2%AB%E5%BF%BD%E7%95%A5&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-125242740.nonecase&spm=1018.2226.3001.4187

桶排序

目前仅排序分数,并没有对应人

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《啊哈算法》学习——桶排序 的相关文章

随机推荐

  • virtualbox无法安装64位系统

    今天在实验室用VirtualBox安装 64位的Ubuntu系统 在安装时没有显示64位的Linux安装项 只有32位的Linux安装选项 为了以后遇到能够快速解决 我就把坑在这里填了吧 要安装64位的虚拟机要满足下面几个条件 1 CPU要
  • 【面试宝典】面试中你能遇到的问题答案全在这儿了

    人生中最尴尬的考试不是你不会 而是明明知道答案也答不对 职上网小编 人生数十载 考试千百回 小时候我们有小考 中学时我们有中考 高中时我们有高考 大学时我们还有大考 而在要工作时我们还要面考 总少不了以下这几个问题 请做一下自我介绍 请说一
  • unity-3d:打飞碟游戏

    unity 3d 打飞碟游戏 1 编写一个简单的鼠标打飞碟 Hit UFO 游戏 uml类图 Director DiskData DiskFactory FirstController FlyActionManager Interface
  • VMware虚拟机中如何配置静态IP,以及DNS服务器

    参考的是这位同学的博客 写这篇博客是为了自己学习用 到时候忘记了可以翻出来看看 这个是VMware的草图 1 查看网关 以及网段 将VMnet8中 使用本地DHCP服务将IP地址分配给虚拟机 的选项去掉 然后点击NAT设置 记住这上面的NA
  • Nginx具体配置(三)

    一 Nginx配置实例 反向代理 实例一 1 1 实现效果 在Windows浏览器地址栏中输入www 123 com 跳转到Linux系统中的tomcat主页面 访问Nginx 192 168 92 130 80 访问Tomcat 192
  • 在colab上部署novelAI

    目录 一 获取模型 1 使用他人提供的模型链接直接在Google云端硬盘中添加快捷连接 推荐 2 自己上传模型到Google云端硬盘 二 colab上进行操作 第一步 加载Google云盘 第二步 克隆git仓库 第三步 安装依赖 第四步
  • Spring Boot 学习研究笔记(十七) -Spring boot JPA的复杂查询

    Spring boot JPA的复杂查询 一 JpaSpecificationExecutor 接口查询方式 1 JpaSpecificationExecutor接口 JPA 提供动态接口JpaSpecificationExecutor 利
  • JavaScript 算法 -- 贪心算法

    文章目录 贪心算法 例题一 分饼干 例题二 买卖股票的最佳时机 II 贪心算法 贪心算法是算法设计的一种方法 期盼通过每个阶段的局部最优选择 从而达到全局的最优 但最后的结果不一定最优 例题一 分饼干 param number g 胃口 p
  • 【机器学习算法】感知机模型

    文章目录 1 感知机模型 2 收敛性证明 Novikoff定理 3 感知机对偶形式 4 感知机的缺点 5 感知机的几个变形 5 1 投票感知机 5 2 平均感知机 1 感知机模型 感知机模型是一个二分类的模型 它通过形如 y w x
  • 前后端交互之解决跨域问题!!!!

    报错 XMLHttpRequest cannot load http 127 0 0 1 8080 detail all No Access Control Allow Origin header is present on the req
  • 小娜老师的讲义-Docker的管理工具们(Kubernetes)

    Kubernetes k8s 是自动化容器操作的开源平台 这些操作包括部署 调度和节点集群间扩展 如果你曾经用过Docker容器技术部署容器 那么可以将Docker看成Kubernetes内部使用的低级别组件 Kubernetes不仅仅支持
  • Python学习--函数与Lambda表达式

    链接 DataWhale函数与Lambda表达式 目录 1 函数 函数的定义 函数的调用 函数的返回值 函数文档及注解 函数参数 1 位置参数 2 默认参数 3 可变参数 4 关键字参数 5 命名关键字参数 6 参数组合 变量作用域 内嵌函
  • 一个能干掉90%候选人的Kafka面试连环炮!

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 目录 1 写在前面 2 如何保证宕机时数据不丢失 3 多副本冗余的高可用机制 4 多副本之间数据如何同步 5 ISR到底指的什么东西 6 acks参数的含义 7 最后
  • Less 18 (请求头注入--user-agent注入)

    文章目录 1 题目分析 2 构造SQL 3 手工注入 4 使用python进行注入 5 SQLmap注入 1 题目分析 首先我们来分析一下题目 经过尝试 我们知道 当我们输入正确的用户名和密码的时候 后台会将User Agent返回到屏幕上
  • 全国计算机等级考试题库二级C操作题100套(第89套)

    第89套 给定程序中 函数fun的功能是 求出形参ss所指字符串数组中最长字符串的 长度 其余字符串左边用字符 补齐 使其与最长的字符串等长 字符串数组中共 有M个字符串 且串长
  • 正点STM32F407核心板+ESP8266实现简单通信(详细讲解)

    1 ESP8266固件库的烧录 如果用串口助手连上板子 给8266发送AT指令发现老是报错error 可以重新烧录一下固件库 正点的ESP8266资料下载网址 http www openedv com thread 308397 1 1 h
  • tcp连接多久会自动断开_K8s 节点断开连接后,本在运行的 Pod 会如何?

    在工作节点与主节点断开连接后 工作节点上的 Pod 是什么状态 是否在继续运行 Kubernetes 控制器又在做什么 本文对此进行了实例研究 一一解答 作者 Bhargav Bhikkaji 翻译 Bach 才云 校对 星空下的文仔 才云
  • 微信小程序云开发之初体验(详细教程)

    微信小程序云开发之初体验 小程序云开发是微信最近推出的新的一项能力 它弱化了后端以及运维的概念 开发者无需搭建服务器 使用微信平台提供的api即可完成核心的业务开发 目前提供三大基础能力支持 云函数 在云端运行的代码 微信私有协议天然鉴权
  • 刷脸支付普及逐渐攀升产业生态逐渐形成

    刷脸让支付生态重返硬件年代 刷脸支付机具的生产 销售 铺设 维护涉及大量成本 客观存在压货风险大 后期服务难 地推成本高等问题 模式重而受益低 导致银行和大多数中小支付机构入局刷脸支付的意愿则整体薄弱得多 银联高调入局之际 2019 也是支
  • 《啊哈算法》学习——桶排序

    学习啊哈算法第一天 第一章第一节最快最简单的桶排序 问题描述 班级五名同学的分数排序 十分制 问题分析及思路 借助大小为10的一维数组 初始化为0 意味该分数没有人得 接下来处理分数 如有两个人得5分 即将a 5 2 记录下分数即出现次数后