算法第四版第二章排序需要复用的代码的模板。

其中 algs4 是算法这本书作者自己写的一个类库,包含了一些常用的简单的方法。

ps : less()比较大小的方法

  exch()交换两个变量的值的方法

  show()向控制台输出结果的方法

  isSorted()测试数组元素是否有序的方法

 1 import java.util.Scanner;
 2
 3 import edu.princeton.cs.algs4.In;
 4
 5 public class Example {
 6     public static void sort(Comparable[] a){
 7     }
 8     private static boolean less(Comparable v, Comparable w) {
 9         return v.compareTo(w) < 0;
10     }
11     private static void exch(Comparable[] a, int i, int j) {
12         Comparable t = a[i];
13         a[i] = a[j];
14         a[j] = t;
15     }
16     private static void show(Comparable[] a) {
17         for (int i = 0; i < a.length; i++) {
18             System.out.print(a[i] + "");
19             System.out.println();
20         }
21     }
22     private static boolean isSorted(Comparable[] a) {
23         for (int i = 0; i < a.length; i++) {
24             if(less(a[i], a[i-1]))
25                 return false;
26         }
27         return true;
28     }
29     public static void main(String[] args) {
30         String[] a = In.readStrings();
31         //sort(a);
32         assert isSorted(a);
33         show(a);
34     }
35 }

转载于:https://www.cnblogs.com/stitchZsx/p/9846704.html

Part2--排序算法类模板相关推荐

  1. 织梦站内选择文件夹和图片文件排序后台模板管理按名称排序

    织梦站内选择图片排序是直接read()读取直接输出,如果我们同一时间上传了多个图片,在没有经过排序的情况下,我们去选择图片很难快速分辨哪个是刚刚上传的,解决方法是读取该目录的文件列表,用"文 ...

  2. C++走向远洋——61(项目一、排序函数模板)

    */* Copyright (c) 2016,烟台大学计算机与控制工程学院* All rights reserved.* 文件名:text.cpp* 作者:常轩* 微信公众号:Worldhello* ...

  3. 排序算法模板(C语言版)

    1.快速排序 //By LYLtimvoid swap(int *a, int *b) {int t = *a;*a = *b;*b = t; }void QSort(int l, int r) {i ...

  4. 9个元素换6次达到排序序列_面试题精选(排序算法类)c/c++版 上篇

    1-1排序算法专题 0 常见排序算法总结 基础排序算法: 冒泡排序.选择排序.插入排序.归并排序.希尔排序.快速排序.堆排序 建议看不懂原理说明或图示时请看代码. 1. 冒泡排序 1.1 基本思想 冒 ...

  5. 面试题精选(排序算法类)c/c++版 上篇

    1-1排序算法专题 0 常见排序算法总结 基础排序算法: 冒泡排序.选择排序.插入排序.归并排序.希尔排序.快速排序.堆排序 建议看不懂原理说明或图示时请看代码. 1. 冒泡排序 1.1 基本思想 冒 ...

  6. LUOGU 3089 后缀排序(模板)

    传送门 解题思路 这是一个神奇的算法,sa[i]表示排名第i为的元素是啥,rk[i]表示第i个元素排名是啥.然后使用基数排序+倍增的思想去处理.主要是参考的这位大佬的博客(https://www.cn ...

  7. 【算法入门图论】【模板】拓扑排序|【模板】单源最短路2 |最小生成树

    ✅作者简介:热爱后端语言的大学生,CSDN内容合伙人 ✨精品专栏:C++面向对象

  8. 排序---初级排序算法(选择排序、插入排序和希尔排序)

    写在前面的话: 一枚自学Java和算法的工科妹子. 算法学习书目:算法(第四版) Robert Sedgewick 算法视频教程:Coursera  Algorithms Part1&2 本文 ...

  9. C++ 函数模板和排序的函数模板——学习笔记

    我们在使用重载函数时,只是使用了函数名,而函数体还是得分别定义,在C++中函数模板为我们很好的解决了这个问题. 1.函数模板的声明 函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函 ...

  10. [设计模式](十):策略模式(Strategy)与模板模式(Template)详解及二者间区别介绍(两种父子类行为模式)

    这次要说的两个模式,都是行为模式,指的是在程序运行过程中,经过经验总结的行为开发模式. 其次,行为模式再按照类与类间关系的划分,可以划分为四个类型:父子关系(2种).独立类间关系(4种).类自身状态( ...

最新文章

  1. 搭建hbase1.2.5完全分布式集群
  2. 接受返回值 server sql_SQL,何必在忆之一(基础篇)
  3. 成为数据科学家、人工智能和机器学习工程师的自学之路
  4. Python 3.3.2 中文版
  5. Java知识整理——垃圾回收
  6. LeetCode 676. 实现一个魔法字典(哈希)
  7. 【ElasticSearch】Es 源码之 MonitorService 源码解读
  8. 考研南邮和杨大计算机,江苏省这4所“非211”低调有实力,从不争名次,毕业生颇受欢迎...
  9. 将CString转换成string ...
  10. CorelDRAWX4的VBA插件开发(十三)一键转曲(转全部页面)
  11. Java面试题全集(上)
  12. a10 amd 安装黑苹果_分享黑苹果安装经验
  13. Chapter 2 (Discrete Random Variables): Probability mass functions (PMF 分布列)
  14. Linux系统如何优化
  15. html5 游戏 动画设计,11款效果惊艳的HTML5动画应用
  16. 了解如何定义定义变量和调用函数
  17. Mysql数据库磁盘扩容
  18. 上班划水神器:一个可以在控制台玩斗地主项目!
  19. flash高科技php网站源码下载,Flash小游戏PHP源码
  20. 【CSDN英雄会】沪江徐宜生:掌握工具使用技巧,是提高工作效率的最佳途径

热门文章

  1. day 21 模块 和 包
  2. 二维树状数组的区间加减及查询 tyvj 1716 上帝造题的七分钟
  3. lintcode-111-爬楼梯
  4. andorid月总结
  5. 【BZOJ-1324】Exca王者之剑 最小割
  6. Ext.apply与Ext.applyIf
  7. 生活中的思维风暴——读《谁是谷歌想要的人才》精彩题目小记(二)
  8. EF中DataContext创建的两段代码收藏
  9. JS 逻辑中断(一)
  10. AI+进入科学界:人工智能将主导原子世界的科学发现进程