Java中数组的补充方法(增强版遍历、逆序、冒泡排序、二分法查找)

文章目录

      • 数组的补充方法
        • 增强版遍历:
        • 数组的逆序:
        • 冒泡排序:
        • 二分法查找:
      • 思维导图篇


数组的补充方法

在《数组》文章中简单的介绍了数组的基本格式和实现案例,此处不做说明,此文主要是补充一些数组的使用方法。例如:增强版的遍历、逆序、冒泡排序、二分法查找。


增强版遍历:

1.与普通遍历的区别:
普通的遍历给人的直观感觉不是很好,输出的元素都是排列不好看,所以需要增强版的遍历
2.源代码:

public static void printArray(int[] arr){
	//输出一半中括号
	System.out.print("[");
	for(int i = 0;i < arr.length;i++){
		if(i == arr.length - 1){
			System.out.print(arr[i]+"]");
		}else{
			System.out.print(arr[i]+",");
		}
	}
}

3.缺点:
不适用于遍历二维以上的数字。


数组的逆序:

1.逆序的描述:
逆序是指位置信息的大小与数据大小的排序相反。
2.源代码:

	public static void ReverseOrder(int[] arr){
		int temp ;
		for(int min = 0,max = arr.length-1; min < max ;min++,max--){
			temp = arr[min];
			arr[min] = arr[max];
			arr[max]=temp;
		}
	}

3.练习数组的逆序方法的作用:
逆序练习中运用到了指针的思想,练习它能够初步了解数组中指针的使用。


冒泡排序:

1.冒泡排序与普通排序的区别:
普通排序是将第一个数与它后面的所有的数相比较,然后确定它的位置,之后是拿第二个数与后面的数进行比较,然后确定第二个数的位置,依次类推。这种排序的方法,需要将一个数与除它之外所有的数进行比较,所以时间要消耗的多,很多情况下不适用。
冒泡排序,是采用比较相邻的数的方法,没一个轮回的比较都会产生一个最值,然后,这个最值就不需要在进行比较排序了,这种方法会减少比较的次数,节约时间。
2.源代码:

public static void bubbleSort(int[] arr){
	for(int i = 0;i < arr.length-1;i++){
		//每次内循环的比较,从0索引开始,每次都在递减
		for(int j = 0 ;j < arr.length-i-1;j++){
			//相邻的数组元素比较
			if(arr[j] > arr[j+1]){
				int temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp;
			}
		}
	}
}
	

二分法查找:

1.查找索引是一件十分常用的事情,如果是遍历所有的文件然后再查找出对应的索引是很耗时间的,所以才会需要二分法查找索引。
2.源代码:

public static int binarySearch1(int[] arr,int number){
	int minIndex = 0 ;
	int maxIndex = arr.length -1 ;
	int midIndex = 0;
	while( minIndex <= maxIndex){
		midIndex =(minIndex + maxIndex)/2;
		if(number > arr[midIndex]){
			minIndex = midIndex + 1;
		}else if(number < arr[midIndex]){
			maxIndex = midIndex - 1;
		}else{
			//找到元素
			return midIndex;
		}
	}		
	return -1;
}

3.二分法使用的注意:必须是有序数组


下图中有数组方法的内存图,以及一些Eclipse基本操作和快捷键:

思维导图篇

  • 第八天的学习思维导图:
    Java中数组的补充方法(增强版遍历、逆序、冒泡排序、二分法查找)_第1张图片

你可能感兴趣的:(javase,notes)