当前位置:   article > 正文

Java顺序表的实现_java如何将数据写入文件并存储在顺序表里

java如何将数据写入文件并存储在顺序表里

线性表是由n(n>=0)个元素构成的有限序列,通常表示为a0,a1,a2, ...,an-1,它是最简单的数据结构。而顺序表就是顺序存储的线性表,它是用一组地址连续的存储单元依次存放各个数据元素的存储结构。

顺序表的主要操作有清空、判断是否为空、求当前长度、获取某个位置元素、插入、删除、查找元素位置等。其中几项很简单,只有插入、删除可能要思考一下,但也是容易解决的。

代码如下:

  1. public class SqlList{
  2. public Object[] listElement;
  3. public int currentLength;
  4. public SqlList(int maxSize)
  5. {
  6. listElement=new Object[maxSize];
  7. currentLength=0;
  8. }
  9. //清空
  10. public void clear()
  11. {
  12. currentLength=0;
  13. }
  14. //是否为空
  15. public boolean isEmpty()
  16. {
  17. return currentLength==0;
  18. }
  19. //当前长度
  20. public int length()
  21. {
  22. return currentLength;
  23. }
  24. //插入
  25. public void insert(int i,Object x) throws Exception
  26. {
  27. if(currentLength==listElement.length)
  28. new Exception("顺序表已满!");
  29. if(i<0 || i>currentLength)
  30. {
  31. throw new Exception("插入位置不合法!");
  32. }
  33. for(int j=currentLength;j>i;j--)
  34. listElement[j]=listElement[j-1];
  35. listElement[i]=x;
  36. currentLength++;
  37. }
  38. //删除
  39. public void remove(int i) throws Exception
  40. {
  41. if(i<0 || i>=currentLength)
  42. throw new Exception("删除位置不合法");
  43. for(int j=i;j<currentLength-1;j++)
  44. {
  45. listElement[j]=listElement[j+1];
  46. }
  47. currentLength--;
  48. }
  49. //获取某个位置元素
  50. public Object get(int i) throws Exception
  51. {
  52. if(i<0 || i>=currentLength)
  53. {
  54. throw new Exception("第" + i + "不存在");
  55. }
  56. return listElement[i];
  57. }
  58. //查找元素所在位置下标
  59. public int indexOf(Object x)
  60. {
  61. for(int i=0;i<currentLength;i++)
  62. {
  63. if(listElement[i].equals(x))
  64. return i;
  65. }
  66. return -1;
  67. }
  68. //打印输出
  69. public void display()
  70. {
  71. for(int i=0;i<currentLength;i++)
  72. {
  73. System.out.print(listElement[i]+" ");
  74. }
  75. System.out.println();
  76. }
  77. public static void main(String[] args) throws Exception
  78. {
  79. SqlList sqlList=new SqlList(30);
  80. sqlList.insert(0,5);
  81. sqlList.insert(1,9);
  82. sqlList.insert(2,8);
  83. System.out.print("所有元素:");
  84. sqlList.display();
  85. System.out.println("9的下标是:"+sqlList.indexOf(9));
  86. sqlList.remove(2);
  87. System.out.print("删除下标为2的元素后: ");
  88. for(int i=0; i<sqlList.length(); i++)
  89. System.out.print(sqlList.get(i)+" ");
  90. System.out.println();
  91. }
  92. }
可以看到顺序表内部是采用一个一维数组来存储数据元素,并没有什么复杂的东西,多看看就Ok了。若有问题,敬请指正!(凡星逝水2017)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/538296
推荐阅读
相关标签
  

闽ICP备14008679号