创新路
我们一直在努力

Java排序算法

一、冒泡排序

public static int[] bubbleSort(int[] s){
    int temp;
    for(int i=s.length-1;i>=0;i--){
        for(int j=0;j+1<=i;j++){
            if(s[j]>s[j+1]){
                temp=s[j];
                s[j]=s[j+1];
                s[j+1]=temp;
            }
        }
    }
    return s;
}

二、交换排序

public static int[] exchangeSort(int[] s){
    int temp;
    for(int i=0;i<s.length;i++){
        for(int j=i+1;j<s.length;j++){
            if(s[i]>s[j]){
                temp=s[i];
                s[i]=s[j];
                s[j]=temp;
            }
        }
    }
return s;
}

三、选择排序

private static int[] selectSort(int[] s){ 
  int k,temp;
  for(int i=0;i<s.length;i++){
    k=i;
    for(int j=k+1;j<s.length;j++){
      if(s[j]<s[k]){
        k=j;
      }
    }
      if(k!=i){
        temp=s[i];
        s[i]=s[k];
        s[k]=temp;
      }
  }
  return s;
}

以下是测试程序:从命令行输入数组分别使用三种排序方法排序后输出

public class TestSort{
    public static void main(String args[]){
        int str[] =new int[args.length];
        int str1[] =new int[args.length];
        int str2[] =new int[args.length];
        
        for(int i=0;i<args.length;i++){
            str[i]=Integer.parseInt(args[i]);
            str1[i]=Integer.parseInt(args[i]);
            str2[i]=Integer.parseInt(args[i]);
            System.out.print(str[i]+" ");
        }

        bubbleSort(str);
        print(str);

        selectSort(str1);
        print(str1);

        exchangeSort(str2);
        print(str2);
    }

    public static int[] exchangeSort(int[] s){
        int temp;
        for(int i=0;i<s.length;i++){
            for(int j=i+1;j<s.length;j++){
                if(s[i]>s[j]){
                    temp=s[i];
                    s[i]=s[j];
                    s[j]=temp;
                }
            }
        }
        return s;
    }

    public static int[] bubbleSort(int[] s){
        int temp;
        for(int i=s.length-1;i>=0;i--){
            for(int j=0;j+1<=i;j++){
                if(s[j]>s[j+1]){
                    temp=s[j];
                    s[j]=s[j+1];
                    s[j+1]=temp;
                }
            }
        }
        return s;
    }

    private static int[] selectSort(int[] s){ 
       int k,temp;
       for(int i=0;i<s.length;i++){
          k=i;
          for(int j=k+1;j<s.length;j++){
             if(s[j]<s[k]){
            k=j;
             }
          }
     if(k!=i){
         temp=s[i];
        s[i]=s[k];
        s[k]=temp;
     }
        }
   return s;
  }
 
    public static void print(int s[]){
        System.out.println();
        for(int i=0;i<s.length;i++){
            System.out.print(s[i]+" ");
        }
    }
}

blob.png

未经允许不得转载:天府数据港官方信息博客 » Java排序算法

客官点个赞呗! (0)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机