数据结构-数组
数据结构本身和语言无关,为了方便理解本文使用java语言举例说明,介绍数组是什么?数组特性和数组使用场景
文章目录
一、数组是什么?
数组是一组拥有相同数据类型且有序的线性结构数据组。在计算机内存中是连续的地址空间。由于需要分配连续地址空间所以在定义时就必须明确指定数组长度。
二、使用
1. 创建数组
根据创建数据类型和长度在内存中开辟一个对应大小的内存空间。
int arrCount = 100;
String [] strs = new String[arrCount];
由于java语言特性只能创建对象数组,不能创建基本类型数组,所以数组下标存放对象地址的引用或指针。
2. 插入数据
根据数组的下标来插入数据,一般第一个下标为0,第二个下标为1,第三个下标为2,依此类推最后一个元素下标为arrCount-1。
/**
* 第一个下标插入值
*/
strs[0] = "value-0";
/**
* 第二个下标插入值
*/
strs[1] = "value-1";
/**
* 第三个下标插入值
*/
strs[2] = "value-2";
/**
* 第四个下标插入值
*/
strs[3] = "value-3";
3. 获取数据
直接通过数组下标获取数据
/**
* 获取第一个下标数据
*/
String value0 = strs[0];
/**
* 获取第二个下标数据
*/
String value1 = strs[1];
/**
* 获取第三个下标数据
*/
String value2 = strs[2];
/**
* 获取第四个下标数据
*/
String value3 = strs[3];
优缺点
1.优点
直接操作内存指针,插入和查询时间复杂度都为O(1),操作效率非常高(效率最高的数据结构)
1.缺点
长度固定,很多场景无法灵活应用(动态数组)
应用场景
知道一组数据的类型和长度时推荐使用
总结
数组是所有数据结构类型中插入和查询时间复杂度最小之一,在程序设计中如果数组数据结构满足需求推荐优先使用。