zoukankan      html  css  js  c++  java
  • 排序算法

    1.选择排序

        简单的选择排序:这个排序方法的原理:假设有5个乱序的数字数组 int a[5],要将它们进行升序排序(从小到大)这个时候先假设a[0]做数组的最小值并依次与后面的数字进行比较,如果有数字比a[0]小,那么这两个数做交换。等第一轮比较完此时的a[0]就是当前数组的最小值,第二轮比较的时候只要从a[1]开始,把a[1]做数组第二小的值与后面的数字进行比较。

    代码如下:

    public void selectSort(int []a)
    
    {
    for(int k=0;k<a.length-1;k++)//比较的轮数{
    
    int a[min]=a[k];// 把剩余数组第一个假定为最小值
    
    for(int i=k+1;i<a.length;i++){
    
    if( a[min]>a[i]){
    
    int temp= a[min];
    
     a[min]=a[i];
    
    a[i]=temp;
    
    }
    }
    }
    

     

    2.冒泡(第一轮取得最小值,第二轮取得第二小)

    import java.util.Arrays;
    public class HellowWorld {
    public static void main(String[] argv ) {
    int[] arr= new int[]{1,6,6,9,3,4,21,26,30,35};
    for(int i=0;i<arr.length;i++) { //轮数
        for(int j=1;j<arr.length;j++) {//比较的次数
            if(arr[j-1]>arr[j])
            {
                int temp=arr[j-1];
                arr[j-1]=arr[j];
                arr[j]=temp;
            }//endif
            
        }//endfor2
    }//endfor1
    System.out.println(Arrays.toString(arr));
    }//endmain
    }//endclass

    在java中可以使用Arrays.sort(数组名称);

  • 相关阅读:
    Final发布
    Final发布 视频展示
    Final发布 文案+美工展示
    PSP总结报告
    作业 20181204-1 每周例行报告
    对团队成员公开感谢
    作业 20181127-1 附加作业 软件工程原则的应用实例分析
    作业 20181127-2 每周例行报告
    作业 20181120-1 每周例行报告
    作业 20181113-2 每周例行报告
  • 原文地址:https://www.cnblogs.com/xuwangqi/p/11019768.html
Copyright © 2011-2022 走看看