⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sort.java.txt

📁 通过代码来实现各个排序
💻 TXT
字号:

package com.cucu.test;     
   
public class Sort {     
   
  public void swap(int a[], int i, int j) {     
    int tmp = a;     
    a = a[j];     
    a[j] = tmp;     
  }     
   
  public int partition(int a[], int low, int high) {     
    int pivot, p_pos, i;     
    p_pos = low;     
    pivot = a[p_pos];     
    for (i = low + 1; i <= high; i++) {     
      if (a > pivot) {     
        p_pos++;     
        swap(a, p_pos, i);     
      }     
    }     
    swap(a, low, p_pos);     
    return p_pos;     
  }     
   
  public void quicksort(int a[], int low, int high) {     
    int pivot;     
    if (low < high) {     
      pivot = partition(a, low, high);     
      quicksort(a, low, pivot - 1);     
      quicksort(a, pivot + 1, high);     
    }     
   
  }     
   
  public static void main(String args[]) {     
    int vec[] = new int[] { 37, 47, 23, -5, 19, 56 };     
    int temp;     
    //选择排序法(Selection Sort)     
    long begin = System.currentTimeMillis();     
    for (int k = 0; k < 1000000; k++) {     
      for (int i = 0; i < vec.length; i++) {     
        for (int j = i; j < vec.length; j++) {     
          if (vec[j] > vec) {     
            temp = vec;     
            vec = vec[j];     
            vec[j] = temp;     
          }     
        }     
   
      }     
    }     
    long end = System.currentTimeMillis();     
    System.out.println("选择法用时为:" + (end - begin));     
    //打印排序好的结果     
    for (int i = 0; i < vec.length; i++) {     
      System.out.println(vec);     
    }     
    //  冒泡排序法(Bubble Sort)     
    begin = System.currentTimeMillis();     
    for (int k = 0; k < 1000000; k++) {     
      for (int i = 0; i < vec.length; i++) {     
        for (int j = i; j < vec.length - 1; j++) {     
          if (vec[j + 1] > vec[j]) {     
            temp = vec[j + 1];     
            vec[j + 1] = vec[j];     
            vec[j] = temp;     
          }     
        }     
   
      }     
    }     
    end = System.currentTimeMillis();     
    System.out.println("冒泡法用时为:" + (end - begin));     
    //打印排序好的结果     
    for (int i = 0; i < vec.length; i++) {     
      System.out.println(vec);     
    }     
   
    //插入排序法(Insertion Sort)     
    begin = System.currentTimeMillis();     
    for (int k = 0; k < 1000000; k++) {     
      for (int i = 1; i < vec.length; i++) {     
        int j = i;     
        while (vec[j - 1] < vec) {     
          vec[j] = vec[j - 1];     
          j--;     
          if (j <= 0) {     
            break;     
          }     
        }     
        vec[j] = vec;     
      }     
    }     
    end = System.currentTimeMillis();     
    System.out.println("插入法用时为:" + (end - begin));     
    //打印排序好的结果     
    for (int i = 0; i < vec.length; i++) {     
      System.out.println(vec);     
    }     
   
    //快速排序法(Quick Sort)     
   
    Sort s = new Sort();     
    begin = System.currentTimeMillis();     
    for (int k = 0; k < 1000000; k++) {     
      s.quicksort(vec, 0, 5);     
    }     
    end = System.currentTimeMillis();     
    System.out.println("快速法用时为:" + (end - begin));     
    //打印排序好的结果     
    for (int i = 0; i < vec.length; i++) {     
      System.out.println(vec);     
    }     
  }     
   
}    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -