A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 如梦初醒 中级黑马   /  2012-4-17 08:52  /  1816 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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;
            }
        }
    }

1 个回复

倒序浏览
肿么了?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马