美文网首页
数值排序算法

数值排序算法

作者: 冰鑫925 | 来源:发表于2018-02-01 14:27 被阅读1次
    冒泡排序

    方法:两个数比较大小,较大的数靠后,较小的数冒靠q前。

    public static void BubbleSort(int [] array){
            
            int temp;//临时变量标记换数的值
            for(int i=0; i<array.length-1; i++){  
              boolean flag;//是否排好顺序
                for(int j=array.length-1; j>i; j--){
                    if(array[j] < array[j-1]){
                        temp = array[j];
                        array[j] = array[j-1];
                        array[j-1] = temp;
                    }
                }
        if(!flag){
            break;
          }
            }
        }
    
    选择排序

    方法:
    在长度为n的无序数组中,1、遍历n-1个数,找到最小的数值与第一个元素交换;2、遍历n-2个数,找到最小的数值与第二个元素交换;3、第n-1次遍历,找到最小的数值与第n-1个元素交换,排序完成。

    public static void select_sort(int array[],int length){
          
          for(int i=0;i<length-1;i++){
              
              int minIndex = i;
              for(int j=i+1;j<length;j++){
                 if(array[j]<array[minIndex]){
                     minIndex = j;
                 }
              }
              if(minIndex != i){
                  int temp = array[i];
                  array[i] = array[minIndex];
                  array[minIndex] = temp;
              }
          }
      }
    
    插入排序

    方法:
    在要排序的一组数中,假定前n-1个数已经排好序,现在将第n个数插到前面的有序数列中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。

    public static void  insert_sort(int array[],int lenth){
         
         int temp;
         
         for(int i=0;i<length-1;i++){
             for(int j=i+1;j>0;j--){
                 if(array[j] < array[j-1]){
                     temp = array[j-1];
                     array[j-1] = array[j];
                     array[j] = temp;
                 }else{         //不需要交换
                     break;
                 }
             }
         }
     }
    
    
    希尔排序
    快速排序
    归并排序
    堆排序
    基数排序

    相关文章

      网友评论

          本文标题:数值排序算法

          本文链接:https://www.haomeiwen.com/subject/wujdzxtx.html