黑马程序员技术交流社区
标题:
java快速排序与冒泡排序
[打印本页]
作者:
如梦初醒
时间:
2012-4-17 08:52
标题:
java快速排序与冒泡排序
1. 快排
package excptionTest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class mainExcption {
/**
* @param args
*/
public static void main(String[] args){
//声明数组
int[] nums = {27, 8, 57, 9, 23, 41, 65, 19, 0, 1, 2, 4, 5};
//应用快速排序方法
quickSort(nums, 0, nums.length-1);
//显示排序后的数组
for(int i = 0; i < nums.length; ++i) {
System.out.print(nums[i] + ",");
}
System.out.println("");
}
private static void quickSort(int[] nums, int i, int j) {
int left = i;
int right =j;
int temp = 0;
boolean r_or_l = true;
if(left>=right){
return;
}
while(left<right){
if(nums[left]>nums[right]){
temp = nums[left];
nums[left] = nums[right];
nums[right] = temp;
r_or_l = r_or_l?false:true;
}
if(r_or_l){
right--;
} else {
left++;
}
}
left-=1;
right+=1;
System.out.println(right+" "+left);
quickSort(nums, 0, left);
quickSort(nums, right, j);
}
}
2. 冒泡
package excptionTest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class mainExcption {
/**
* @param args
*/
public static void main(String[] args){
//声明数组
int[] nums = {27, 8, 57, 9, 23, 41, 65, 19, 0, 1, 2, 4, 5};
quickSort(nums);
//显示排序后的数组
for(int i = 0; i < nums.length; ++i) {
System.out.print(nums[i] + ",");
}
System.out.println("");
}
private static void quickSort(int[] nums) {
int temp = 0;
boolean jump = true;
for(int i=0;i<nums.length-1;i++){
for(int j=i+1;j<nums.length;j++){
if(nums[i]<nums[j]){
temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
jump = false;
}
}
if(jump){
break;
}
}
}
作者:
韩新凯
时间:
2012-4-17 12:17
肿么了?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2