顺序表即基于数组实现的线性表,成为动态数组,用一组地址连续的存储单元存储各个元素,使得其在逻辑上相邻,物理上也相邻,以数组的形式保存数据。
原生的数组有何弊端:
a.若数组开辟长度过小,能存储的数据较少。
b.若数组开辟长度过大,则会浪费大量空间。
c.插入和删除效率低。
d.一旦定义一个数组,其长度是固定的,无法修改。
int[ ] arr = new int [10];//定义了一个长度为10的整型数组,此时最多只能存10
动态数组:根据当前存储的数据元素进行数组的扩容(需自己实现),将原生的数组int [ ]做了一层包装,使其具有动态扩容的功能。
顺序表表的优点:
a.便于随机读取,读取数据的速度快。
链表的弊端:
a.由于他顺序的存储结构,不便于插入和删除。
属性:
int[] elementData//存储数据 int size //当前动态数组中存储了几个元素
所有数据结构无外乎C、R、U、D四大方法:
二、顺序表的常见基本 *** 作:public void addFirst(int data){};//在数组头部添加元素 public void addLast(int data){};//在数组的尾部添加元素 public void addIndex(int index,int data){};//在数组的索引index处添加元素 private void grow() {}// 内部扩容方法 public String toString() {}//将当前动态数组转换为字符串 public boolean contains(int data) {}判断当前集合中是否包含指定元素data public void remove(int index){}//删除下标为index的元素 public void removevalue(int value) {}//按值删除,删除线性表中所有值等于value的元素 public int set(int index,int newData) {}//将指定位置index的元素修改为新值newData private boolean rangeCheck(int index) {}//校验当前传入的index是否合法(用在查询,设置,删除) // 取得当前数组长度 public int getSize() { return size; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)