| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1007 人关注过本帖, 1 人收藏
标题:发一些排序的代码(Java版,更新中)
只看楼主 加入收藏
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
结帖率:100%
收藏(1)
 问题点数:0 回复次数:4 
发一些排序的代码(Java版,更新中)
插入排序:
程序代码:
public class InsertSortTest {
    /**
     * 插入排序
     * @param a 待排序的数组
     */
    public static void insertSort(int[] a){
        if(a.length>=2){
            for(int i=1; i<a.length; i++){
                int temp = a[i];
                int j = i;
                while(j>0 && a[j-1]>temp){
                    a[j] = a[j---1];
                }
                a[j] = temp;
            }
        }
    }
    
    /**
     * @param a 待打印的数组
     */
    public static void print(int[] a){
        for(int i:a){
            System.out.print(i + "  ");
        }
        System.out.println();
    }
    
    public static void main(String[] args){
        int num[] = new int[]{1,9,2,5,3,6,4,7,8,34,24,76,15,};
        System.out.println("排序前");
        InsertSortTest.print(num);
        InsertSortTest.insertSort(num);  //插入排序
        System.out.println("排序后");
        InsertSortTest.print(num);
    }
}


[[it] 本帖最后由 freish 于 2008-10-30 09:42 编辑 [/it]]
搜索更多相关主题的帖子: Java 代码 
2008-10-29 09:48
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
Shell排序
程序代码:
public class ShellSortTest {
    /**
     * Shell排序
     * @param a待排序的数组
     */
    public static void shellSort(int[] a){
        for(int gap=a.length/2; gap>0; gap /= 2){
            for(int i=gap; i<a.length; i += gap){
                int temp = a[i];
                int j = i;
                while(j>0 && a[j-gap]>temp){
                    a[j] = a[j-gap];
                    j -= gap;
                }
                a[j] = temp;
            }
        }
    }
    
    /**
     * @param a待打印的数组
     */
    public static void print(int[] a){
        for(int i:a){
            System.out.print(i + " ");
        }
        System.out.println();
    }
    
    public static void main(String[] args) {
        int[] num = new int[]{1,9,2,4,3,6,5,8,7,98,23,45,74,0};
        System.out.println("排序前");
        print(num);
        shellSort(num);  //Shell排序
        System.out.println("排序后");
        print(num);
    }
}


[[it] 本帖最后由 freish 于 2008-10-30 09:42 编辑 [/it]]
2008-10-29 10:39
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
选择排序
程序代码:
public class SelectSort {
    /**
     * 选择排序
     * @param a待排序的数组
     */
    public static void selectSort(int[] a){
        for(int i=0; i<a.length; i++){
            int small = i;
            for(int j=i+1; j<a.length; j++){
                if(a[j]<a[small]) small = j;
            }
            int temp = a[small];
            a[small] = a[i];
            a[i] = temp;
        }
    }
    
    /**
     * @param a待打印的数组
     */
    public static void print(int[] a){
        for(int i:a){
            System.out.print(i + " ");
        }
        System.out.println();
    }
    
    public static void main(String[] args) {
        int[] num = new int[]{1,9,2,8,3,7,4,6,5,0,10,56,34,23,45,2,0,0};
        System.out.println("排序前");
        print(num);
        selectSort(num); //选择排序
        System.out.println("排序后");
        print(num);
    }
}



冒泡排序
程序代码:
public class BubbleSortTest {
    public static void bubbleSort(int[] a){
        for(int i=0; i<a.length-1;i++){
            for(int j=a.length-1;j>i;j--){
                if(a[j] < a[j-1]){
                    int temp = a[j];
                    a[j] = a[j-1];
                    a[j-1] = temp;
                }
            }
        }
    }
    
    public static void print(int[] a){
        for(int i:a){
            System.out.print(i + " ");
        }
        System.out.println();
    }
    
    public static void main(String[] args) {
        int[] num = new int[]{1,9,2,4,3,0,6,5,8,7,98,23,45,74,0};
        System.out.println("排序前");
        print(num);
        bubbleSort(num);  //Shell排序
        System.out.println("排序后");
        print(num);
    }
}


[[it] 本帖最后由 freish 于 2008-10-30 09:42 编辑 [/it]]
2008-10-29 18:31
wangluxi
Rank: 2
等 级:论坛游民
帖 子:27
专家分:29
注 册:2008-10-22
收藏
得分:0 
c++版 的和java版的有什么大的区别?
我学的是c++
2008-10-29 20:45
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
[bo][un]wangluxi[/un] 在 2008-10-29 20:45 的发言:[/bo]

c++版 的和java版的有什么大的区别?
我学的是c++

c++很久没接触了
java里面可以new一堆对象而不用去管是不是delete了
个人觉得java更有意思一点
2008-10-30 09:36
快速回复:发一些排序的代码(Java版,更新中)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026617 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved