1 / 31
文档名称:

java排序算法大全.doc

格式:doc   大小:54KB   页数:31页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

java排序算法大全.doc

上传人:AIOPIO 2020/6/11 文件大小:54 KB

下载得到文件列表

java排序算法大全.doc

文档介绍

文档介绍:java排序算法大全为了便于管理,先引入个基础类:package algorithms;public abstract class Sorter<E parable<E>> {        public abstract void sort(E[] array,int from ,int len);        public final void sort(E[] array)    {        sort(array,0,);    }    protected final void swap(E[] array,int from ,int to)    {        E tmp=array[from];        array[from]=array[to];        array[to]=tmp;    }}一插入排序该算法在数据规模小的时候十分高效,该算法每次插入第K+1到前K个有序数组中一个合适位置,K从0开始到N-1,从而完成排序:package algorithms;/** * ***@author yovn */public class InsertSorter<E parable<E>> extends Sorter<E> {    public void sort(E[] array, int from, int len) {         E tmp=null;          for(int i=from+1;i<from+len;i++)          {              tmp=array[i];              int j=i;              for(;j>from;j--)              {                  if(pareTo(array[j-1])<0)                  {                      array[j]=array[j-1];                  }                  else break;              }              array[j]=tmp;          }    }            }二冒泡排序这可能是最简单的排序算法了,算法思想是每次从数组末端开始比较相邻两元素,把第i小的冒泡到数组的第i个位置。i从0一直到N-1从而完成排序。(当然也可以从数组开始端开始比较相邻两元素,把第i大的冒泡到数组的第N-i个位置。i从0一直到N-1从而完成排序。)package algorithms;/** * ***@author yovn * */public class BubbleSorter<E parable<E>> extends Sorter<E> {    private static  boolean DWON=true;        public final void bubble_down(E[] array, int from, int len)    {        for(int i=from;i<from+len;i++)        {            for(int j=from+len-1;j>i;j--)            {                if(array[j].compareTo(array[j-1])<0)                {                    s);                }            }        }    }        public final void bubble_up(E[] array, int from, int len)    {        for(int i=from+len-1;i>=from;i--)        {            for(int j=from;j<i;j++)            {                if(array[j].compareTo(array[j+1])>0)                {                    s);                }            }        }    }    ***@Override    public void sort(E[] array, int from, int len) {                if(DWON)        {            bubble_down(array