(三)数组的定义、折半查找、排序(选择和冒泡)

总结复习一下java se的一些知识点(三)

一、定义数组
		//定义一位数组
        int [] arr1 = new int[4];

        int arr2[] = new int[2];

        int [] arr3 = new int[]{1,2,3};

        int [] arr4 = {22,6,7,3,7,6,9,3,353,77};//数据明确的时候
		//定义二维数组
		int [][] arr5 = new int[2][3];
		int [][] arr6 = new int[2][];
		arr6[0] = new int[3];
		arr6[1] = new int[5];
二、查找方法(折半查找)
//折半查找的数组必须是有序的
//方法一
public int halfSearch(int[] arr,int key)
{
        int min,max,mid;
        min = 0;
        max = arr.length-1;
        mid = (min+max)/2;
        while(key!=arr[mid]){
            if(key>arr[mid])
                min = mid+1;
            else if(key < arr[mid])
                max = mid-1;
            mid = (max+min)/2;
        }
        return mid;
}
//方法二
//折半查找2
    public static int halfSearch_2(int[] arr,int key){
        int min,max,mid;
        min = 0;
        max = arr.length-1;
        while (min <= max){
            mid = (max+min)/2;
            if(key>arr[mid])
                min = mid+1;
            else if(key < arr[mid])
                max = mid-1;
            else
                return mid;
        }
        return -1;//表示不存在该数
        /*
        函数最后一句改为:return min;可以用来求出插入一个数,该数的下标,使排序不乱
        *
        * */
三、排序方法
//选择排序
    public static void selectSort(int[] arr){

        for(int i = 0;i < arr.length-1;i++){
            for(int j = i +1 ;j < arr.length;j++){
                if(arr[i]>arr[j]){
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    }


    //冒泡排序:相邻的两个元素进行比较,如果符合条件,交换位置
    public static void bubbleSort(int[] arr){
        for(int i = 0;i < arr.length-1;i++){
            for(int j = 0; j < arr.length-i-1;j++){//-i:每比较一次就会出现一个最大值,在末尾
                if(arr[j]>arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
    }

    //不管什么排序,都要对满足条件的元素进行位置置换
    public static void swap(int[] arr,int a,int b){
        int temp = arr[a];
        arr[a] = arr[b];
        arr[b] = temp;
    }

在Java中有提供的类Arrays里面的方法可以进行排序,可以在实际开发中使用

	Arrays.sort(arr);
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值