码迷,mamicode.com
首页 > 编程语言 > 详细

数组的排序,冒泡法,快速排序法

时间:2016-02-27 23:32:30      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

1.冒泡法排序

  

/*
     * 冒泡法排序 :在要排序的一组数中,对当前还未排好序的范围内的全部数,自左而右对相邻的两个数
     *          相邻的两个数的交换
     */
    public void bubbleSort(int[] num) {
        int temp = 0;
        for(int i=0;i<num.length-1;i++){
        
            for(int j=0;j<num.length-1-i;j++){
            
                if(num[j]>num[j+1]){
                
                    temp=num[j];
                    num[j]=num[j+1];
                    num[j+1]=temp;
            }
        }
        }
    }

调用:
int[] num = new int[] { 2, 4, 5, 1, 6, 8 };
Shuzu sz1 = new Shuzu();
        sz1.bubbleSort(num);
        for (int i = 0; i < num.length; i++) {
            System.out.println("冒泡法排序=" + num[i] + " ");
        }

2.快速排序法:最大的数放在最后边

// 排序:找到最大的数依次往后排放
    public void Sort(int[] nums) {
        int maxPost ,temp;//循环里面尽量不定义变量
        for (int k = 0; k < nums.length - 1; k++)// 执行的次数
        {
            maxPost = 0;//假设第一个数是最大的,循环一次就会找到一个大数所以是-K
            for (int i = 1; i < nums.length - k; i++) {
                
                if (nums[maxPost] < nums[i]) {
                
                    maxPost = i;
                }
            }
            
            temp = nums[nums.length - k - 1];//每次交换的都是最后一个数
            nums[nums.length - k - 1] = nums[maxPost];
            nums[maxPost] = temp;
        }
    }


调用:int[] num = new int[] { 2, 4, 5, 1, 6, 8 };
Shuzu sz = new Shuzu();

sz.selectSort(num);
for (int i = 0; i < num.length; i++)
{
         System.out.println(num[i] + " ");
}

 

数组的排序,冒泡法,快速排序法

标签:

原文地址:http://www.cnblogs.com/sunli0205/p/5223724.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!