------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
package com.itheima;
import java.util.*;
/*
冒泡排序
选择排序
插入排序
快速排序
*/
public class Test1 {
public static void main(String[] args) {
int arr[]={67,98,43,23,56,67,87,34,65,87};
mp(arr);/*冒泡排序*/
selectSort(arr);/*选择排序*/
insertSort(arr);/*插入排序*/
/*效率最高的是快速排序*/
System.out.println("快速排序的结果为:");
quickSort(arr, 0, arr.length - 1);
for(int i = 0; i < arr.length; i++)
{
System.out.print(arr[i] + " ");
}
}
//冒泡排序:
public static void mp(int[]arr)
{int i;
for(i=0;i<arr.length-1;i++)
{
for(int j=0;j<arr.length-1-i;j++)
{
if(arr[j]>arr[j+1])
{
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
System.out.println("冒泡排序结果为:");
for( i=0;i<arr.length;i++)
{
System.out.print(arr[i]+" ");
}
System.out.println();
}
//选择排序
public static void selectSort(int array[]) {
int temp = 0;
int len = array.length;
for(int i = 0; i < len - 1; i++) {
int min = array[i];
int index = i;
for(int j = i + 1; j < len; j++) {
if(min > array[j]) {
index = j;
}
}
temp = array[i];
array[i] = array[index];
array[index] = temp;
}
System.out.println("选择排序结果为:");
for(int i = 0; i < len; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
}
//插入排序
public static void insertSort(int array[]) {
int len = array.length;
for(int i = 1; i < len; i++) {
int temp = array[i];
int index = i;
while(index > 0 && array[index - 1] > temp) {
array[index] = array[index - 1];
index--;
}
array[index] = temp;
}
System.out.println("插入排序结果为:");
for(int i = 0; i < len; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
}
//快速排序
private static int partition(int array[], int low, int height) {
int key = array[low];
while(low < height) {
while(low < height && array[height] >= key) {
height--;
}
array[low] = array[height];
while(low < height && array[low] <= key) {
low++;
}
array[height] = array[low];
}
array[low] = key;
return low;
}
public static void quickSort(int []array, int low, int height) {
if(low < height) {
int result = partition(array, low, height);
quickSort(array, low, result - 1);
quickSort(array, result + 1, height);
}
}
public void quick(int []str)
{
if(str.length>0)
{
quickSort(str,0,str.length-1);
}
}
}