设为首页 加入收藏

TOP

Java实现基本排序算法(一)
2017-05-04 10:24:19 】 浏览:787
Tags:Java 实现 基本 排序 算法

本例子实现了一些常见的排序算法,注释中也有一些关于这些算法的思想的描述,这里不做多,使用Java实现基本排序算法,直接上代码。


import java.awt.List;
import java.util.ArrayList;
import java.util.Hashtable;


/**
* @ClassName: Sort
* @Description: //默认按照升序排序

*/
public class Sort {
    /**
    *
    * @Description: 直接插入排序
    * @author 陈杰
    * @date 2016年10月7日 下午9:08:26
    * @param arr
    */
    public void directlyInsertSort(int[] arr){
        if(arr==null||arr.length==0)
            return;
        //int i,j;
        //初始默认arr[0]为已排好的序列
        for(int i=1;i<arr.length;i++){
            int temp=arr[i];
            for(int j=i-1;j>=0;j--){
                if(arr[j]>temp){


                    arr[j+1]=arr[j];//元素向后移动一位
                    arr[j]=temp;
                } 
            }


        }
        //打印排序后结果
        for(int value:arr){
            System.out.print(value+"  ");
        }
    }
    /**
    *
    * @Description: 希尔排序 (这里用一句话描述这个类的作用)
    * @author 陈杰
    * @date 2016年10月8日 下午7:24:16
    * @param arr
    * @param n
    */
    public void shellSort(int arr[],int dk){
        int temp=0;
        for(int d=dk;d>0;d=d/2){
            for(int i=d;i<arr.length;i++){
                temp=arr[i];
                //int index=-1;//待插入的位置
                for(int j=i-d;j>=0;j=j-d){
                    if(arr[j]>temp){
                        //index=j;
                        arr[j+d]=arr[j];//元素向后移动一位
                        arr[j]=temp;
                    } 
                }


            }
        } 
        //打印排序后结果
        for (int value : arr) {
            System.out.print(value + "  ");
        }
    }
   
    /**
 *
* @Description: 折半插入排序
* @author 陈杰
* @date 2016年10月8日 上午10:27:07
* @param arr
 */
    public void halfInsertSort(int[] arr){
        if(arr==null||arr.length==0)
            return;
        int i,j,low,high,mid;
        for(i=1;i<arr.length;i++){
            mid=0;
    &n

首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Spring集合类型的setter注入的一.. 下一篇未来的C#之只读引用与结构体

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目