数据结构的学习,推进到双链表,本篇带你了解双链表的增删查改

线性表接口

首先,我们来实现一个线性表的接口,再去用双链表去实现这个接口

LinearTable线性表 .png

  1. /**
  2. * @author Gremmie102
  3. * @date 2022/5/11 15:02
  4. * @purpose :线性表的接口
  5. */
  6. public interface LinearTable {
  7. // 我们先来定义一个线性表的接口,
  8. // 然后再去在双链表中去实现这个接口
  9. /**
  10. * 向线性表中添加元素
  11. * @param data 要储存的元素
  12. */
  13. void add(Object data);
  14. /**
  15. * 在线性表中删除元素
  16. * @param index 要删除的元素下标
  17. */
  18. void remove(int index);
  19. /**
  20. * 在线性表中查找指定下标的元素
  21. * @param index 要查找的索引(下标)
  22. * @return 返回这个元素
  23. */
  24. Object get(int index);
  25. /**
  26. * 判断线性表中是否含有指定元素
  27. * @param data 要查找的元素
  28. * @return 是否含有该元素
  29. */
  30. boolean contains(Object data);
  31. /**
  32. * 修改线性表中指定索引的内容
  33. * @param index 要修改的元素下标
  34. * @param newData 修改之后的值
  35. * @return 返回该元素
  36. */
  37. Object set(int index,Object newData);
  38. /**
  39. * 返回当前线性表的元素个数
  40. * @return 元素个数
  41. */
  42. int size();
  43. /**
  44. * 直接清空线性表中的内容
  45. */
  46. void clear();
  47. /**
  48. * 将线性表转化为数组
  49. * @return 返回数组
  50. */
  51. Object[] toArray();
  52. }