数据结构系列之什么是数组?

我会带着你远行 2021-09-09 05:54 412阅读 0赞

数据结构系列之什么是数组?

1、什么是数组?

数组是一种很常见的数据结构,数组是一个连续的内存区域,由大小相等的项组成。如图画图表示数组的结构:

在这里插入图片描述

2、创建数组方式

  • 动态创建
    初始化时由程序员指定数组长度,由系统为数组分配初始数据

    char[] carr = new char[5];

  • 静态创建

    char[] strs = new char[]{ ‘A’, ‘E’ , ‘U’ , ‘Y’ , ‘U’};

3、什么是多维数组?

数组是可以多维的,在java程序中支持二维数组的操作,将一维数组当成几何中的线性图形,那么二维数组就相当于是一个表格

语法:

  1. int[][] arr = new int[3][2];

ps:如上定义了一个二维数组,有3个一维数组,每个一维数组有两个元素

4、数组的特性是什么?

归纳一下数组的特性:

  • 数组内存地址是连续的
  • 数据访问极快,数组可以通过下标访问,所以性能极高
  • 数组增删操作为了保证数组越界问题,需要动态扩容,性能不好

5、数组典型例子

下面通过一个例子,自己定义一个数组类,实现数组的基本操作,比如新增元素、移除元素等等

  1. public class MyArray {
  2. private int[] a;
  3. private int n;
  4. public MyArray() {
  5. a = new int[16];
  6. n = 0;
  7. }
  8. public void initialize() {
  9. for (int i = 0 ; i <= 10; i++) {
  10. a[i] = i;
  11. }
  12. n = 10;
  13. }
  14. public void print() {
  15. for (int i = 0 ; i < n ; i++) {
  16. System.out.print(a[i] + " ");
  17. }
  18. // 换行
  19. System.out.println();
  20. }
  21. public void set(int position , int value) {
  22. a[position] = value;
  23. }
  24. public int get(int position) {
  25. return a[position];
  26. }
  27. public void put(int position , int value) {
  28. for (int i = n ; i >= position ; i--) {
  29. a[i+1] = a[i];
  30. }
  31. a[position] = value;
  32. n += 1;
  33. }
  34. public void remove(int position) {
  35. for (int i = position ; i < n ; i ++ ) {
  36. a[i] = a[i+1];
  37. }
  38. n -= 1;
  39. }
  40. public static void main(String[] args) {
  41. MyArray array = new MyArray();
  42. // 初始化数据数据
  43. array.initialize();
  44. // 打印验证 0 1 2 3 4 5 6 7 8 9
  45. array.print();
  46. // 数组对应位置设置数据
  47. array.set(0 , 10);
  48. // 打印验证 10 1 2 3 4 5 6 7 8 9
  49. array.print();
  50. // 重新初始数组
  51. array.initialize();
  52. // 在对应位置附加上数据
  53. array.put(0 , 11);
  54. // 打印验证 11 1 2 3 4 5 6 7 8 9
  55. array.print();
  56. // 重新初始数组
  57. array.initialize();
  58. // 对应位置移除数组元素
  59. array.remove(0);
  60. // 打印验证 1 2 3 4 5 6 7 8 9
  61. array.print();
  62. }
  63. }

发表评论

表情:
评论列表 (有 0 条评论,412人围观)

还没有评论,来说两句吧...

相关阅读

    相关 什么数据结构

    什么是数据结构 简单来说,程序=数据结构+算法。 传统上,我们把数据结构分为逻辑结构和物理结构。 逻辑结构:是指数据对象中数据元素之间的互相关系,也是我们今后最需要关

    相关 数据结构数组

    一.什么是数组? 今天要介绍的主角就是-数组,数组也是数据呈线性排列的一种数据结构。在数组中,访问数据十分简单,而添加和删除数据比较耗工夫。 数组 ![在这里插入图片

    相关 数据结构数组

    一.数组的基本概念 数组可以看成是多个相同类型数据组合,对这些数据的统一管理。 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变

    相关 什么数据结构

    数据: 是所有能被输入到计算机中,且能被计算机处理的符号的集合。它是计算机操作的对象的总称,也是计算机处理的信息的某种特定的符号表示形式。 数据元素: 是数据(集合)中的

    相关 数据结构数组

    数组的三种操作时间复杂度 按下标随机查找时间复杂度:O(1) 插入时间复杂度:O(n) 删除时间复杂度:O(n) 查找操作 因为数组是一种线性表数据结构,