数据结构

71 阅读1分钟

数据结构

1、概念

计算机对数据进行组织存储的方式(存储快查找慢,存储慢查找快)不同可以使增删改查效率不同。

2常用的数据结构

数组、链表、树、队列、栈、堆、图、散列表(haxi)

  • 队列 特点:FIFO:先进先出

image.png

image.png

二、数据结构在java里的应用

1、定义一个容器

  • 创建一个存放数据的数组,要能存放各种类型的数据就把存储数据的数组变为Object,比如:rivate Object[] arr;

2、查看内容

  • 重写toString方法

image.png

3、添加数据并自动扩容

  • 设计一个添加数据的方法add,每调用一次把数据添加到数组里面,
  • 先判断是否需要扩容
  • 使用if语句,如果索引长度达到界限,则执行建立扩容
  • 把元数据转移到新数组
  • 修改引用地址

image.png

4、删除数据

  • 定义根据索引位置删除数据方法
  • 判断输入数据是否非法(是否数组越界)
  • 删除指定索引处的元素

5、修改数据

  • 定义根据索引位置删除数据方法
  • 判断输入数据是否非法(是否数组越界)
  • 替换指定索引处的元素

image.png

6、查询数据

6、1返回数据第一次出现的索引

image.png

6、2是否包含某个数据

调用6.1方法的返回值,如果为正则包含,反之则不包含

三、链表结构

1、链表结果示意图(单向链表)

image.png

2、自定义一个类型Node(里面有两个字段)

  • 一个object类型字段存放值
  • 一个Node类型字段存放下一个Node对象地址