学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > java快速排序、冒泡排序、插入排序
免费下载此文档

java快速排序、冒泡排序、插入排序

java里面常用的三种排序的示例源代码

package com.staconfree;
//主要要明白原理
public class Sort {
//快速排序1
private static int times = 0;
private static void QuickSort(int e[], int first, int end) {
int i = first, j = end, temp = e[first];
while (i < j) {
while (i < j && e[j] >= temp)
j--;
e[i] = e[j];
while (i < j && e[i] <= temp)
i++;
e[j] = e[i];
}
e[i] = temp;
times++;
System.out.println("第"+times+"次排序后:"+temp+"i="+i);
for (int m = 0; m < end+1; m++)
System.out.println(e[m]);
if (first < i - 1){
System.out.println("前半部分");
QuickSort(e, first, i - 1);}
if (end > i + 1){
System.out.println("后半部分");
QuickSort(e, i + 1, end);}
}
//快速排序2
private static int Partition(int e[],int first,int last){
int i = first,j = last,tmp = e[first];
while(i < j){
while(i < j && e[j] >= tmp){
j--;
}
e[i] = e[j];
while(i < j && e[i] <= tmp){
i++;
}
e[j] = e[i];
}
e[i] = tmp;
return i;
}
private static void QuickSort2(int e[],int first,int last){
int position;
if(first < last){
position = Partition(e,first,last);
QuickSort2(e,first,position - 1);
QuickSort2(e,position + 1,last);
}
}
//冒泡排序
private static void upSort(int e[]){
int end = e.length - 1,tmp;
for(int i = 0;i <= end;i++){
for(int j = i +1 ;j <= end;j++){
if(e[i] > e[j]){
tmp = e[i];
e[i]=e[j];
e[j]=tmp;
}
}
}
}
//插入排序
public static void insertSort(Comparable[] data) {
// 数组长度
int len = data.length;
// 从下标为1开始依次插入
for (int i = 1; i < len; i++) {
// 当前待插入的数据
Comparable currentData = data[i];
int temp = i;
while (temp > 0 && data[temp - 1].compareTo(currentData) > 0) {
// 向右移动
data[temp] = data[temp - 1];
temp--;
}// end while
data[temp] = currentData;
}// end for
}// end sort
public static void insertSort(int[] data) {
// 数组长度
int len = data.length;
// 从下标为1开始依次插入
for (int i = 1; i < len; i++) {
// 当前待插入的数据
int currentData = data[i];
int temp = i;
while (temp > 0 && data[temp - 1] > currentData) {
// 向右移动
data[temp] = data[temp - 1];
temp--;
}// end while
data[temp] = currentData;
}// end for
}// end sort
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[] = { 49, 38, 65, 97, 76, 13, 27, 49,100,23,48,289 };
// Comparable arr[] = { 49, 38, 65, 97, 76, 13, 27, 49,100,23,48,289 };
int len = arr.length;
int i;
System.out.println("before sort\n");
for (i = 0; i < len; i++)
System.out.println(arr[i]);
// QuickSort(arr, 0, len - 1);


// QuickSort2(arr, 0, len - 1);
// upSort(arr);
insertSort(arr);
System.out.println("after sort\n");
for (i = 0; i < len; i++

第1页

免费下载Word文档免费下载:java快速排序、冒泡排序、插入排序

(下载1-2页,共2页)

我要评论

相关文档

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.xuehai.net All Rights Reserved.  email
返回顶部