排序

来源:互联网 发布:it专业学校排名 编辑:程序博客网 时间:2024/06/05 16:38
package org.study.bubble;import java.util.Arrays;public class Bubble {        static int a[] = {10,23,11,56,45,26,59,28,84,79};        static int i, temp, j, f, k, x, temp1, index, h;        static boolean check;                static void bubble(){                for(i = 0; i < a.length-1; i ++){                        if(a[i] > a[i+1]){                                temp = a[i];                                a[i] = a[i+1];                                a[i+1] = temp;                        }                }        }                static void quickSort(int[] array){                i = 0;                j = array.length - 1;                k = array[0];                while(i != j){                        while(array[j] > k){                                j --;                        }                        int temp = k;                        k = array[j];                        array[j] = temp;                        while(array[i] < k){                                i ++;                        }                        int temp1 = k;                        k = array[i];                        array[i] = temp1;                        if(array[i] == array[j]){                                x ++;                                if(x > (array.length/2+1)){                                        check = true;                                }                        }                        if(i == j || check){                                k = array[0];                                if(i == j && j == 0){                                        k = array[1];                                }                                i = 0;                                j = array.length - 1;                                check = false;                                x = 0;                                if(f > (array.length/2+1)){                                        k = array[j];                                }                                if(f == array.length){                                        break;                                }                                f ++;                        }                }        }                static void select(int[] r){                for(i = 0; i < a.length-1; i ++){                        index = i;                        for(j = i + 1; j < 10; j ++){                                if(r[j] < r[index]){                                        index = j;                                }                        }                        if(index != j){                                temp = r[i];                                r[i] = r[index];                                r[index] = temp;                        }                }        }                static void insert(int[] r){                for(i = 0; i < a.length; i ++){                        temp = r[i];                        for(j = i - 1;j >= 0 && temp <r[j]; j --){                                r[j + 1] = r[j];                        }                        r[j + 1] = temp;                }        }                static int[] mergeSort(int[] nums, int low, int high) {                  int mid = (low + high) / 2;                  if (low < high) {                      mergeSort(nums, low, mid);                      mergeSort(nums, mid + 1, high);                      merge(nums, low, mid, high);                  }                  return nums;              }                    static void merge(int[] nums, int low, int mid, int high) {                  int[] temp = new int[high - low + 1];                  int i = low;                int j = mid + 1;                int k = 0;                  while (i <= mid && j <= high) {                      if (nums[i] < nums[j]) {                          temp[k++] = nums[i++];                      } else {                          temp[k++] = nums[j++];                      }                  }                  while (i <= mid) {                      temp[k++] = nums[i++];                  }                  while (j <= high) {                      temp[k++] = nums[j++];                  }                  for (int k2 = 0; k2 < temp.length; k2++) {                      nums[k2 + low] = temp[k2];                  }              }                  public static void main(String[] args) {                System.out.println("初始序列的数组为: ");                for(i = 0; i < a.length; i ++){                        System.out.print(a[i]+" ");                }                //bubble();//冒泡排序                //quickSort(a);//快速排序                //select(a);//选择排序                //insert(a);//插入排序                //mergeSort(a,0,a.length-1);//归并排序                Arrays.sort(a);//如果工作中用数组时常用的排序^_^                System.out.println("\n"+"排序好的数组为:");                for(i = 0; i < a.length; i ++){                        System.out.print(a[i]+" ");                }        }        }

0 0
原创粉丝点击