Enum<E extends Enum<E>>类和排序算法

1 Enum<E extends Enum<E>>类

这是所有 Java 语言枚举类型的公共基本类。

2 常见排序算法

  • 冒泡法。简单。比较小的需求可以采用此方法。
  • 快速排序。确定关键字,将数据分为小于和大于关键字两部分。然后递归快排这两部分。
  • 插入排序。将数据分为有序和无序两部分,逐一遍历无序部分,将记录逐条插入有序部分。有改进的折半插入排序,即插入的时候采用二分查找确认插入位置。
  • 希尔排序。将数据间隔分组,组内进行插入排序。间隔逐次递减,直至为1。
  • 选择排序。将数据分为有序和无序两部分,然后遍历无序部分,找到最小(或最大)的元素,插入到有序部分最后面。
  • 堆排序。构造一个二叉堆。
  • 归并排序。两个有序数据,可以采用归并排序合并为一个有序数据。所以可以人为把需要排序的数据分为两部分,再归并排序。当然,每一部分需要递归调用归并排序。

Enum<E extends Enum<E>>类和排序算法

时间: 2024-12-19 22:52:06

Enum<E extends Enum<E>>类和排序算法的相关文章

java.lang.Enum&lt;E extends Enum&lt;E&gt;&gt;

public enum Direction { L, LU, U, RU, R, RD, D, LD, STOP, JUMP;} for(Direction d: Direction.values()) { this.drawPaoTong(g, d); } for (int i = 0; i < Direction.values().length; i++) { Direction.values()[i]; } 枚举随机遍历:Direction.values()[new Random().ne

插入类的排序算法

#include<stdio.h> /* * 插入排序算法 每天一道算法题 */ void traverseArray(int *p,int length) { int i=0; for(;i<length;i++) { printf("%d\n",p[i]); } } //直接插入排序 void insertSorted(int *p,int length) { int i,j,temp; for(i=1;i<length;i++) { if(p[i]<

八大排序算法之七-归并排序

归并类的排序算法 归并:将两个或两个以上的有序表组合成一个新的有序表. 内部排序中,通常采用的是 2-路归并排序.即:将两个位置相邻的记录有序子序列归并为一个记录有序的序列.归并排序是建立在归并操作上的一种有效的排序算法.该算法是采用分治法(Divide and Conquer)的一个非常典型的应用. 图解如下 看成是 n 个有序的子序列(长度为 1),然后两两归并. 得到 n/2 个长度为2 或 1 的有序子序列.继续亮亮归并 最后一趟 代码如下: #include<iostream> #i

排序算法四:交换排序之冒泡排序

排序算法四:交换排序之冒泡排序 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 引言 在我的博文<"主宰世界"的10种算法短评>中给出的首个算法就是高效的排序算法.本文将对排序算法做一个全面的梳理,从最简单的"冒泡"到高效的堆排序等. 系列博文的前三篇讲述了插入排序的三种不同类型,本文讲述第二大类的排序算法:交换排序,包括冒泡排序和快速排序. 排序相关的的基本概念 排序:将一组杂乱无章的数据按一定的规律顺次排列起

枚举类:用enum关键字来定义一个枚举类

1)枚举类的两种定义方法 1>通过构造器 public enum Grade{ A("A", "90-100"),B("B","80-89"),C("C", "70-79"),D("D", "80-89"),E("E", "90-100"); private String tip; private St

Enum 权举最好放在类以外

 Enum 权举能够灵活存储不同的值,避免代码中充斥大量无法解释的数字.虽然无论放在类体内还是类体外,都能调用,但最好能够放在类体以外,这样调用更加灵活. 假设此处有两个 Enum ,分别放置在类体内外,在构造函数中我们传入两个参数调用 Enum 的值. class TestEnum { enum theFirstEnum { one, two, three, } public theFirstEnum thefirstEnum { get; set; } public theSecondE

李洪强iOS开发之 - enum与typedef enum的用法

李洪强iOS开发之 - enum与typedef enum的用法 01 - 定义枚举类型 上面我们就在ViewController.h定义了一个枚举类型,枚举类型的值默认是连续的自然数,例如例子中的TO_BE_PAID=0,//开始   那么其后的就依次为1,2,3....所以一般只需要设置枚举中第一个的值就可以. 注意: 在定义枚举类型的时候一定要定义在.h中的#imort 和€interface之间定义,位置不能错了 02 - 定义操作类型 enum和enum typedef 在IOS中的使

数据结构之排序算法Java实现(4)—— 交换类排序之快速排序算法

快速排序算法属于"交换类"的排序,它的效率主要跟数据分布是否对称有关. 升序排序: /** * 快速排序 * 升序排序 */ @Override public <T extends Comparable<? super T>> void sortByAsc(T[] data) { if(data == null || data.length <= 1){ return; } partitionSortByAsc(data, 0, data.length -

C#学习笔记(14)——C# 使用IComparer自定义List类的排序方案

说明(2017-7-17 21:34:59): 原文:https://my.oschina.net/Tsybius2014/blog/298702?p=1 摘要: C# 使用IComparer自定义List类的排序方案 List类中不带参数的Sort函数可以用来为List类中的元素排序,但如果List类中的元素类型本身不能直接进行比较(如自定义的struct和很多class),或是希望采用更加灵活的自定义比较方式,可以通过继承了IComparer接口的函数来解决. 代码示例如下: 1)声明一个类