给数组中的元素排序

给数组中的元素排序

package test02;
import java.util.Arrays;
public class Ql_MaoPao {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arrs= {22,11,54,33,58,1,6};
        bubbleSort03(arrs);
        chazhao(arrs,58);
        System.out.println(chazhao(arrs,5));

    }
    /*
     * 给定一个无序的数组进行排序
     *      每一趟确定最大数或者最小数
     *      每一次进行两两
     * */
    public static void bubbleSort(int[] arrs) {
        //[2,33,66,7,11]
        //每一趟确定一个最大/最小数
        //第一堂:
        //一次【2,33,66,7,11】
        //二次【2,33,66,7,11】
        //三次【2,33,7,66,11】
        //四次【2,33,7,11,66】
        for(int i=0;iarrs[j+1]) {
                    int temp=arrs[j];
                    arrs[j]=arrs[j+1];
                    arrs[j+1]=temp;
                }
                System.out.println("第"+(j+1)+"次");
                System.out.println(Arrays.toString(arrs));
            }
        }
    }
    /*
     * 降低每一趟的次数*/
    public static void bubbleSort02(int[] arrs) {
        //[2,33,66,7,11]
        //每一趟确定一个最大/最小数
        //第一堂:
        //一次【2,33,66,7,11】
        //二次【2,33,66,7,11】
        //三次【2,33,7,66,11】
        //四次【2,33,7,11,66】
        for(int i=0;iarrs[j+1]) {
                    int temp=arrs[j];
                    arrs[j]=arrs[j+1];
                    arrs[j+1]=temp;
                }
                System.out.println("第"+(j+1)+"次");
                System.out.println(Arrays.toString(arrs));
            }
        }
    }
            public static void bubbleSort03(int[] arrs) {
                //[2,33,66,7,11]
                //每一趟确定一个最大/最小数
                //第一堂:
                //一次【2,33,66,7,11】
                //二次【2,33,66,7,11】
                //三次【2,33,7,66,11】
                //四次【2,33,7,11,66】
                for(int i=0;iarrs[j+1]) {
                            int temp=arrs[j];
                            arrs[j]=arrs[j+1];
                            arrs[j+1]=temp;
                            flag = true;
                        }
                        System.out.println("第"+(j+1)+"次");
                        System.out.println(Arrays.toString(arrs));
                    }
                    if(!flag) {
                        return;//跳出循环}
                    }
        }
    }
            public static int chazhao(int[] arrs,int value) {
                int max=arrs.length-1;
                int min=0;
                int mid;
                while(min<=max) {
                    mid=(min+max)/2;
                    if (arrs[mid]>value) {
                        max=mid-1;
                        }
                    else if(arrs[mid]

你可能感兴趣的:(给数组中的元素排序)