数据结构——线性表之顺序存储结构
Posted wgblog-code
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构——线性表之顺序存储结构相关的知识,希望对你有一定的参考价值。
概念:
- 线性表顺序存储结构中的元素拥有一个直接前驱元素,和一个直接后继元素;线性表的第一个元素只有直接后继元素,最后一个元素只有直接前驱元素
- 线性表一旦创建,长度一般都是固定的,这是它的最大容量
- 线性表中元素个数只能小于等于线性表长度
线性表的基本操作:
1 public class SeqList 2 3 final int defaultSize=10; 4 int maxSize;// 顺序表的最大长度 5 int size;// 线性表的当前长度 6 static Object[] listArray;//存储线性表的数组 7 8 9 public SeqList(int size) 10 initiate(size); 11 12 13 public SeqList() 14 initiate(defaultSize); 15 16 17 //初始化线性表 18 public void initiate(int sz) 19 maxSize=sz; 20 size=0; 21 listArray=new Object[sz]; 22 23 24 //线性表的插入 25 public void insert(int i,Object obj) throws Exception 26 //线性表已经满了 27 if(size==maxSize) 28 throw new Exception("线性表已经满了"); 29 30 if(i==0) 31 listArray[i]=obj; 32 else 33 //插入位置越界 34 if(i<0||i>maxSize) 35 throw new Exception("参数有误"); 36 else 37 for(int j=size;j>=i;j--) 38 listArray[j]=listArray[j-1]; 39 40 listArray[i]=obj; 41 size++; 42 43 44 45 46 47 //线性表的删除 48 public void delete(int i) throws Exception 49 if(size==0) 50 throw new Exception(); 51 52 if(i<0||i>maxSize) 53 throw new Exception("参数有误"); 54 else 55 for(int j=i;j<=size;j++) 56 listArray[j-1]=listArray[j]; 57 58 listArray[size]=null; 59 size--; 60 61 62 63 64 65 //获取线性表中的元素 66 public Object getData(int i)throws Exception 67 if(size==0) 68 throw new Exception("顺序表为空,无法返回元素"); 69 70 if(i<0||i>maxSize) 71 throw new Exception("参数错误"); 72 73 return listArray[i]; 74 75 76 //获取线性表的长度 77 public int getSize() 78 return listArray.length; 79 80 81 //判断线性表是否为空 82 public boolean isNull() 83 if(listArray.length==0) 84 return true; 85 86 return false; 87 88 89 public static void main(String[] args) throws Exception 90 SeqList list=new SeqList(10); 91 list.insert(0,0); 92 list.insert(1,1); 93 list.insert(2,2); 94 list.insert(3,3); 95 list.insert(4,4); 96 printArr(listArray); 97 list.delete(3); 98 System.out.println(); 99 printArr(listArray); 100 101 102 103 public static void printArr(Object[] obj) 104 for (Object object : obj) 105 System.out.print(object+"-"); 106 107 108 109
以上是关于数据结构——线性表之顺序存储结构的主要内容,如果未能解决你的问题,请参考以下文章