Java数据结构与算法

来源:互联网 发布:iphone8怎么卸载软件 编辑:程序博客网 时间:2024/06/07 03:05

数组是最常用的数据结构,整体上可以分为两类:有序数组和无序数组。


1. Java中数组基础知识

1.1 创建数组

在Java中有两种类型,基本类型和对象类型,在Java中数组被当做对象类型。

int[] arr = new int[10];


1.2 访问数组的数据

int temp = arr[0];


1.3 初始化

// 1. int[] arr = new int[] {1, 2, 3};// 2. int[] arr = { 1, 2, 3 };


2. 有序数组

有序数组的最大好处是方便以二分查找的方式对数组进行多次查找。这里的有序数组通常不包含重复元素。二分查找,把握住left,right,mid即可。不断改变left或者right来减小搜索空间。

public int binarySearch(int[] arr, int number) {int left = 0;int right = arr.length - 1;if (number < arr[left] || number > arr[right]) {return -1;}while (left <= right) {int mid = (left + right) / 2;if (arr[mid] == number) {return mid;}if (arr[mid] < number) {left = mid + 1;}if (arr[mid] > number) {right = mid - 1;}}return -1; }


3. 数组的优缺点

1)大小固定,不够灵活

2)插入困难,需要移动后面所有的数据

3)查询快


原创粉丝点击