冒泡排序

use std::io::*;fn main() {let mut str_buf = String::new();stdin().read_line(&mut str_buf).expect("failed to read");str_buf.clear();stdin().read_line(&mut str_buf).expect("failed to read");let num_arr: Vec<i32> = str_buf.trim().split_whitespace().into_iter().map(|s| s.parse().unwrap()).collect();let arr_inc = bubble_sort(&num_arr, |a, b| a > b);arr_inc.iter().for_each(|e| print!("{} ", e));println!();let arr_dec = bubble_sort(&num_arr, |a, b| a < b);arr_dec.iter().for_each(|e| print!("{} ", e));println!();
}fn bubble_sort(input: &Vec<i32>, cmp: fn(a: i32, b: i32) -> bool) -> Vec<i32> {let mut sorting_arr = input.clone();let n = sorting_arr.len();for i in 0..n {for j in 0..n-i-1 {if cmp(sorting_arr[j], sorting_arr[j+1]) {let tmp = sorting_arr[j];sorting_arr[j] = sorting_arr[j+1];sorting_arr[j+1] = tmp;               }}}sorting_arr
}

用 rust 写算法相关推荐

  1. mysql binlog查看工具_【使用 Rust 写 Parser】4. 解析 binlog

    系列所有文章 PrivateRookie:[使用 Rust 写 Parser]1. 初识 nom​zhuanlan.zhihu.com PrivateRookie:[使用 Rust 写 Parser] ...

  2. 用Rust写一个斗兽棋游戏

    原文地址:用Rust写一个斗兽棋游戏 项目地址: Github: https://github.com/netcan/AnimalChess Crate.io: https://crates.io/c ...

  3. c语言知道算法写不出代码,这个代码怎么写算法啊,求教,我真的不会写算法怎么办#incl...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这个代码怎么写算法啊,求教,我真的不会写算法怎么办 #include "stdio.h" #define N 3 //学生数3. st ...

  4. 一步一步写算法(之图结构)

    原文:一步一步写算法(之图结构) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 图是数据结构里面的重要一章.通过图,我们可以判断两个点之间是 ...

  5. 一步一步写算法(之prim算法 中)

    原文:一步一步写算法(之prim算法 中) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] C)编写最小生成树,涉及创建.挑选和添加过程 MI ...

  6. 一步一步写算法(之寻找丢失的数)

    一步一步写算法(之寻找丢失的数) 原文:一步一步写算法(之寻找丢失的数) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 假设我们有一个1亿个 ...

  7. 多元线性回归算法python实现_手写算法-Python代码推广多元线性回归

    1.梯度下降-矩阵形式 上篇文章介绍了一元线性回归,包括Python实现和sklearn实现的实例.对比,以及一些问题点,详情可以看这里: 链接: 手写算法-Python代码实现一元线性回归 里面封装 ...

  8. 一步一步写算法(之克鲁斯卡尔算法 中)

    一步一步写算法(之克鲁斯卡尔算法 中) 原文:一步一步写算法(之克鲁斯卡尔算法 中) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 前面说到 ...

  9. arcgis api for js共享干货系列之一自写算法实现地图量算工具

    众所周知,使用arcgis api for js实现地图的量算工具功能,无非是调用arcgisserver的Geometry服务(http://localhost:6080/arcgis/rest/s ...

最新文章

  1. Aurora — 一个在 MSOffice 内输入 LaTeX 公式的很好用插件
  2. 谈谈“无线网络”与“网络监控”那些小事儿
  3. Facebook用户遭遇千年虫:瞬间有了46年老友
  4. Visual Studio Team System 2008 Team Suite 简体中文正式版
  5. Shell入门教程:算术运算
  6. C#程序集Assembly学习随笔(第一版)_AX
  7. Scala基础之变量和数据类型
  8. oracle数据库异常---SP2-1503: 无法初始化 Oracle 调用界面 SP2-1503: 无法初始化 Oracle 问题的解决办法
  9. WPF RichTextBox的Document属性的序列化与反序列化
  10. spring-beans下的BeanUtils.copyProperties
  11. 访问tomcat服务器文件路径,外置tomcat映射服务器路径以及springboot内置tomcat映射路径配置...
  12. “谷歌杀手”发明者,科学天才 Wolfram
  13. 水质php比较低,鱼缸水质的PH太高或太低怎么办?调节PH值一般用以下4件物品
  14. js操作select(添加、移除、获取select值)
  15. 10分钟搞懂CMMI
  16. 计算机硬盘容量越大运行速度越快,固态硬盘越大运行速度越快吗
  17. YTU oj 3272: 公民身份号码
  18. 一款灵活可配置的开源监控平台
  19. sqlserver之远程访问配置
  20. yyds、yygq、xswl...都是什么意思?

热门文章

  1. MySQL分页查询中该避开的坑
  2. php 字符串分割出数字,php 字符串分割函数的总结
  3. promentheus的组件有_Prometheus实施架构小结 PDF 下载
  4. linux服务器系统内核参数优化
  5. 复旦考研计算机技术,复旦大学计算机技术(专业学位)考研难吗
  6. 完整的连接器设计手册_如何设计符合整车厂要求的CAN物理层接口电路?
  7. 一台电脑安装多个Redis服务
  8. MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist
  9. Oracle索引状态查询与索引重建
  10. RabbitMQ消费端自定义监听器DefaultConsumer