A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张俊飞 中级黑马   /  2013-12-19 16:49  /  952 人查看  /  1 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

我自己写了两种,谁还有其他的排序方法,希望分享一下
。选择排序
  选择排序是给每个位置选择当前元素最小的,比如给第一个位置选择最小的,在剩余元        素里面给第二个元素选择第二小的,依次类推,直到第n-1个元素,第n个元素不用        选择了,因为只剩下它一个最大的元素了。
  public static void test1(int[] arr)
                {
                        for(int i = 0;i<arr.length-1;i++)
                        {
                                for(int j = i+1;j< arr.length;j++)
                                {
                                        if(arr[i]>arr[j])
                                        {
                                                int tem;
                                                tem = arr[i];
                                                arr[i] = arr[j];
                                                arr[j] = tem;
                                        }
                                }
                        }
                        for(int x:arr)
                        {
                                System.out.print(x+"  ");
                        }
  }
  。冒泡排序
  冒泡排序,原理用相邻的两个数比较,得出最值,一次对比得出最        值保存在队末
  public static void test2(int[] arr)
                        {
                                for(int i = 0;i<arr.length-1;i++)
                        {
                                for(int j = 1;j<arr.length-i;j++)
                                {
                                        if(arr[j-1]>arr[j])
                                {
                                        int tem;
                                        tem = arr[j-1];
                                        arr[j-1] = arr[j];
                                        arr[j] = tem;
                                }
                        }
                }
                for(int x:arr)
                {
                        System.out.print(x+"  ");
                }
  }

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

1 个回复

倒序浏览
快速排序法:主要是运用了Arrays工具类中的一个方法Arrays.sort()实现。
  1. public class Test3 {
  2.         public static void main(String[] args) {
  3.                 int[] a = {53,41,2,34,19,25,41};
  4.                 System.out.println("排序前--------------");
  5.                 //打印排序前的数组
  6.                 for(int i : a) {
  7.                         System.out.print(i + " ");
  8.                 }
  9.                 Arrays.sort(a);  //调用方法进行排序
  10.                 System.out.println("\n排序后--------------");
  11.                 //打印排序后的数组
  12.                 for(int i : a) {
  13.                         System.out.print(i + " ");
  14.                 }
  15.         }
  16. }
复制代码

插入排序法:是在已排好序的子数列中反复插入一个新元素,通过不断的插入比较来对数列值进行排序的。
  1. public class InsertionSort {
  2.         public static void main(String[] args) {
  3.                 int[] arr = {14,23,76,44,69,35,23,57};
  4.                 System.out.println("排序前-------------------------");
  5.                 sopArray(arr);
  6.                 insertSort(arr);
  7.                 System.out.println("\n排序后-------------------------");
  8.                 sopArray(arr);
  9.         }
  10.         public static int[] insertSort(int[] args){//插入排序算法
  11.                 for(int i=1;i<args.length;i++){
  12.                         for(int j=i;j>0;j--){
  13.                                 if (args[j]<args[j-1]){
  14.                                         int temp=args[j-1];
  15.                                         args[j-1]=args[j];
  16.                                         args[j]=temp;
  17.                                 }else break;
  18.                         }
  19.                 }
  20.                 return args;
  21.         }
  22.         //打印输出数组
  23.         public static void sopArray(int[] arr) {
  24.                 for(int i : arr) {
  25.                         System.out.print(i + " ");
  26.                 }
  27.         }       
  28. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马