• java-实现两种排序方法


    /*
    对给定数组进行排序
    {5,7,2,8,9,1,3,4}

    */
    class ArrayTest2
    {
    /*
    选择排序
    内循环结束一次,最值出现在头角标位置上
    */
    public static void SelectSort(int[] arr)
    {
    for(int x=0;x<arr.length-1;x++)
    {
    for(int y=1+x;y<arr.length;y++)
    {
    if(arr[x]>arr[y])
    {
    /*
    int temp=arr[x];
    arr[x]=arr[y];
    arr[y]=temp;
    */
    swap(arr,x,y);//java中已经定义好的一种排序方式,开发中,要使用该句代码。
    }

    }
    }
    }
    /*
    冒泡排序
    */
    public static void bubbleSort(int[] arr)
    {
    for(int x=0;x<arr.length-1;x++)
    {
    for(int y=0;y<arr.length-x-1;y++)//-x:让每一次比较的元素减少,-1:避免角标越界。
    {
    if(arr[y]<arr[y+1]) 
    {
    /*
    int temp=arr[y];
    arr[y]=arr[y+1];
    arr[y+1]=temp;
    */
    swap(arr,y,y+1);
    }
    }
    }

    }
    /*
    发现无论什么排序,都需要对满足条件的元素进行位置互换。
    所以可以把这部分相同的代码提取出来,单独封装成一个函数。
    */
    public static void swap(int[] arr,int a,int b)
    {
    int temp=arr[a];
    arr[a]=arr[b];
    arr[b]=temp;
    }
    public static void main(String[] args)
    {
    int[] arr={5,7,2,8,9,1,3,4}; 
    //排序前
    printArray(arr);
    //排序s
    //SelectSort(arr);
    //排序后 
    bubbleSort(arr);
    printArray(arr);
    }
    public static void printArray(int[] arr)
    {
    System.out.print("[");
    for(int x=0;x<arr.length;x++)
    {
    if(x!=arr.length-1)
    System.out.print(arr[x]+",");
    else
    System.out.println(arr[x]+"]");
    }

    }
    }

  • 相关阅读:
    centos安装git
    centos安装nginx和配置
    centos安装samba服务和配置
    合理选择css3动画实现方式
    display:table-cell实现水平垂直居中
    活动的四种启动模式
    我是怎么选搜索引擎的
    这么用Mac才叫爽!
    Linux学习笔记
    软件测试暑期实习总结(2016)
  • 原文地址:https://www.cnblogs.com/IT4338/p/4675931.html
Copyright © 2020-2023  润新知