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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组的排序,冒泡法,快速排序法相关的知识,希望对你有一定的参考价值。

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] + " ");
}

 

以上是关于数组的排序,冒泡法,快速排序法的主要内容,如果未能解决你的问题,请参考以下文章

php四种基础算法:冒泡,选择,插入和快速排序法PHP基础教程

冒泡排序法vs快速排序法(c#)

基础排序算法总结(代码+图片分析)

数组冒泡排序选择排序二分查找法

c++冒泡排序法

数组的排序