尊重原创,原地址:http://blog.csdn.net/chunlei_zhang/article/details/31347557
<span style="font-family: Arial, Helvetica, sans-serif;">package com.hello;</span>
public class HelloJava {
/**
* 冒泡排序(通过一次一次的循环,根据相近两个值进行比较,将大的值往下移)
* @author MR ZHANG
* @param arr
* @return
*/
public static void getBubbleSort(int[] arr){
for(int i = 1;i< arr.length-1;i++){
for(int j=0; j< arr.length-i;j++){
if(arr[j]>=arr[j+1]){
int temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
/**
* 选择排序(每次循环选择剩余的数据中最大数的下标,然后保存亲赖,最后在进行替换)
* @author Mrzhang
* @param arr
* @return
*/
public static void getSelectSort(int[] arr){
for(int i= 1;i<arr.length-1;i++){
int index = 0;
for(int j=0;j<=arr.length-i;j++){
if(arr[j]>=arr[index]){
index = j;
}
}
int temp = arr[arr.length-i];
arr[arr.length-i] = arr[index];
arr[index] = temp;
}
}
/**
* 快速排序(选择一个值作为KEY,然后将大于KEY的值移动到右边,将小于key的值移动到左边)
* @param arr
* @param lowIndex
* @param highIndex
*/
public static void getQuickSort(int[] arr,int lowIndex,int highIndex){
int low = lowIndex,high = highIndex;
while(low < high){
while(high > low && arr[high] >= arr[low]){
high--;
}
if(high > low){
int temp = arr[high];
arr[high] = arr[low];
arr[low] = temp;
}
while(low < high && arr[low] < arr[high]){
low++;
}
if(low < high){
int temp = arr[low];
arr[low] = arr[high];
arr[high]= temp;
}
}
if(high > lowIndex){
getQuickSort(arr,lowIndex,--high);
}
if(low < highIndex){
getQuickSort(arr,++low,highIndex);
}
}
public static void main(String[] args){
int[] arr = {1,9,6,2,2,8,5,4,3,7};
System.out.println("原始数组为:");
printArry(arr);//输出数组
getQuickSort(arr,0,arr.length-1);//对数组进行快速排序
System.out.println("快速排序后的数组:");
printArry(arr);
}
public static void printArry(int[] arr){
for(int i : arr){
System.out.print(" " + i);
}
System.out.println();
}
}
分享到:
相关推荐
C# 插入排序 冒泡排序 选择排序 快速排序 堆排序 归并排序 基数排序 希尔排序
常见经典排序算法(C语言)1希尔排序 二分插入法 直接插入法 带哨兵的直接排序法 冒泡排序 选择排序 快速排序 堆排序.docx
直接插入排序 选择排序 堆排序 归并排序 快速排序 冒泡排序等七种排序方法
选择排序、插入排序、冒泡排序以及快速排序和归并排序的C语言实现,绝对可用
数据结构(c语言版)严蔚敏 吴伟民编著 中直接插入排序、折半排序、shell排序、冒泡排序、快速排序、选择排序、堆排序的实现、归并排序,使用c语言实现
直接插入排序 冒泡排序 快速排序 直接选择排序 堆排序 二路归并排序 C#源代码 使用C#实现的数据结构中的排序算法
合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序的C语言实现,原创。
冒泡排序和快速排序的时间性能 冒泡排序和快速排序的时间性能 冒泡排序和快速排序的时间性能 冒泡排序和快速排序的时间性能 冒泡排序和快速排序的时间性能
冒泡排序,选择排序,插入排序,希尔排序,堆排序,归并排序,快速排序源码实现,里面有详细讲解,对新手应该有帮助
C# 常用经典算法,选择排序 冒泡排序 快速排序 插入排序 希尔排序
插入排序 冒泡排序 堆排序 基数排序 选择排序 快速排序的源码 java实现
java算法,快速排序、冒泡排序、选择排序 快速排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51822361 冒泡排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51819045
有一个模板类写出了快速排序,冒泡排序,插入排序,选择排序四种算法。用的是C++哦
用C++写了以上三种排序算法,对初学数据结构的同学一个参考
7大排序算法(快速排序,冒泡排序,选择排序,归并排序,插入排序,希尔排序,堆排序)实现源码
六种内部排序算法比较:直接插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序。包含实验报告和源代码设计。
JAVA排序算法: 直接插入,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序,包括算法的详细介绍,以及对几种算法的详细测试
排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序.mht
选择排序,冒泡排序,插入排序 基数排序,快速排序,归并排序
C语言所有排序大全,解决了您日常上课考试学习的需要,在这里每一个程序都没有错误,其中压缩包包括了归并排序;...快速排序;冒泡排序;选择排序;折半排序;希尔排序这些日常排序,因为是全集所以大家踊跃下载