《数据结构》严蔚敏版(java解)——第二章 线性表02 顺序线性表操作
2017-02-08 16:12
393 查看
概念:线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素。
特点:假设线性表的每个元素需占用l个存储单元,并以所占的第一个单元的存储地址作为数据元素的存储位置。则线性表第i+1个数据元素的存储位置的表示为:第i+1的存储位置=第i的存储位置+l;
代码实现:
特点:假设线性表的每个元素需占用l个存储单元,并以所占的第一个单元的存储地址作为数据元素的存储位置。则线性表第i+1个数据元素的存储位置的表示为:第i+1的存储位置=第i的存储位置+l;
代码实现:
package csdn.wj.linear; import java.util.ArrayList; import java.util.List; /** * * @author WangSir * */ public class Linear02 { // 在顺序线性表的基础上插入一个元素之后仍为顺序表(这里假设是一个升序表) public int findElement(List<Integer>list,int element){ int index =-1; for(int i=0;i<list.size();i++){ if(list.get(i)<=element&&list.get(i+1)>=element){ index = i+1; break; }else if(list.get(0)>=element){ index = 0; break; }else if(list.get(list.size()-1)<=element){ index = list.size()-1; break; }else{ } } return index; } public List<Integer> insertElement(List<Integer>list,int element){ int index = findElement(list,element); System.out.println(index); // 扩容一个值大小 list.add(99); for(int i=list.size()-2;i>=index;i--){ list.set(i+1, list.get(i)); } list.set(index, element); return list; } public static void main(String args[]){ // 模拟顺序线性表 List<Integer> ls = new ArrayList<>(); for(int i = 0;i<50;i++){ ls.add(i); } for (int i = 52;i<70;i++){ ls.add(i); } // 插入一个值为50 List <Integer> list = new Linear02().insertElement(ls,50); for(int i:list){ System.out.print(i+","); } } }
相关文章推荐
- 《数据结构》严蔚敏版(java解)——第二章 线性表05 双端链表操作
- 《数据结构》严蔚敏版(java解)——第二章 线性表04 顺序单链表合并
- 《数据结构》严蔚敏版(java解)——第二章 线性表01 基本操作
- 《数据结构》严蔚敏版(java解)——第二章 线性表03 单链表操作
- 《数据结构》严蔚敏版(java解)——第三章 栈和队列02 链式栈操作
- 《数据结构》严蔚敏版(java解)——第三章 栈和队列03 顺序队列操作
- 2-3-归并单链表(顺序表)-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版
- 【数据结构】线性表顺序结构的操作---C/C++语言
- 数据结构Java实现02----线性表与顺序表
- 数据结构 清华 严蔚敏 第二章 线性表 知识点总结 附思维导图
- 【数据结构】线性表顺序结构的操作---C/C++语言
- 《数据结构》严蔚敏版(java解)——第三章 栈和队列04 链式队列操作
- 数据结构编程笔记三:第二章 线性表 顺序表的实现
- JAVA数据结构 线性表顺序是实现
- 数据结构Java实现02----线性表与顺序表
- 数据结构Java实现02----线性表与顺序表
- Java,数据结构,线性表,顺序实现
- 数据结构 第二章 线性表(1)顺序线性表的实现
- 第二章 线性表-顺序表示-基本操作
- 数据结构线性表之顺序表的基本操作插入、删除、遍历、初始化