数据结构之向量
向量即为数据结构中的顺序表结构,java中ArrayList,Vector都是按照这种方式实现,在这里我把向量的操作接口列举出来,具体实现我会放到github上,欢迎大家下载。
https://github.com/pink0453/dataStructure.git
package cn.lyc.ds.list;
public interface List<T> {
/**
* 返回当前元素个数
* @return
*/
int size();
/**
* 判断当前是否无元素
* @return
*/
boolean isEmpty();
/**
* 添加元素
* @param e
* @return
*/
boolean add(T e);
/**
* 获取下表为i的元素
* @param i
*/
T get(int i);
/**
* 将元素e替换下标为i的元素
* @param e
* @param i
*/
boolean put(T e, int i);
/**
* 将元素e插入到i的位置其他元素后移
* @param e
* @param i
*/
T insert(T e, int i);
/**
* 删除下标为i的元素
* @param i
*/
boolean remove(int i);
/**
* 查找元素
* @param e
* @return
*/
boolean contains(Object o);
/**
* 删除重复元素 唯一化
*/
void uniquify();
/**
* 遍历所有元素
*/
void traverse();
}
在这里我还要阐述一下有序向量和无序向量的区别
有序向量:不一定按照顺序排列但至少为可排列的数据类型组成
无序向量:向量中的元素为对象形式,无法比较大小或者说不可以排列
为什么要解释这个问题呢,上述操作中有这样一个接口为唯一化,这个接口主要是去重操作,分为有序版本和无序版本两种方式 我使用的为无序版本,用equals方法判断。