几种排序算法

来源:互联网 发布:centos yum安装jdk 编辑:程序博客网 时间:2024/04/29 04:01

package com.Sort;//冒泡排序class Bubble_sort {void sort(int arr[]){for(int i=0 ; i< arr.length-1 ; i++){for(int j = 0 ; j< arr.length - i-1 ; j++){if(arr[j]>arr[j+1]){int temp;temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}}//选择排序class Select_sort{void sort(int arr[]){for(int i = 0; i<arr.length ; i++){int min = arr[i];int index = i;for(int j = i ; j<arr.length ;j++){min = arr[index];if(min > arr[j] ){index = j;}}int tmp;tmp = arr[i];arr[i] = arr[index];arr[index] = tmp;}}}//插入排序class Insert_sort{void sort(int arr[]){for(int i = 1 ; i<arr.length ; i++){int Value = arr[i]; int index = i-1;while(index >= 0 && Value < arr[index]){arr[index+1] = arr[index];index--;}arr[index+1] = Value;}}}//快速排序class Quick_Sort{int getMiddle(int[] list, int low, int high){int tmp = list[low]; while (low < high) {   while (low < high && list[high] >= tmp){       high--;   }   list[low] = list[high]; while (low < high && list[low] <= tmp){       low++;   }list[high] = list[low]; }list[low] = tmp;       return low;            }  void Sort(int[] list, int low, int high){if (low < high){           int middle = getMiddle(list, low, high);              Sort(list, low, middle - 1);                   Sort(list, middle + 1, high);      }}void quick(int[] a2){               if (a2.length > 0)            {                   Sort(a2, 0, a2.length - 1);               }   } }


0 0
原创粉丝点击