顺序表----java实现
最简单的数据结构——顺序表,此处以数组为例。
顺序表的优点:支持随机读取,内存空间利用率高。
顺序表的缺点:1.需要预先给出最大数据元素个数,这往往很难实现。
2.插入和删除时需要移动大量数据。
SeqList.java
package com.sheepmu; public class SeqList {
private int maxSize;
private int size;
private Object[] arrayList;
public SeqList(int sz){
maxSize=sz;
size=0;
arrayList=new Object[sz];
} public void insert(int i,Object obj)throws Exception{//顺序表的 插入
if(size==maxSize)
throw new Exception("顺序表已满,无法插入!");
if(i<0||i>size)
throw new Exception("插入位置不存在!"); //for(int j=i;j<=size;j++)
// arrayList[j+1]=arrayList[j];这不是每个后移了,这是把后面的每个都变成arrayList[j] for(int j=size;j>i;j--){//这个才能实现真正的后移~!!
arrayList[j]=arrayList[j-1];
} arrayList[i]=obj;
size++;
} public Object delete(int i)throws Exception{//顺序表 删除
if(size==0)
throw new Exception("顺序表已为空");
if(i<0||i>size)
throw new Exception("删除位置不存在!");
Object obj=arrayList[i];
for(int j=i;j<size;j++){
arrayList[j]=arrayList[j+1];//前移~
}
size--;
return obj;
} public Object getData(int i)throws Exception{//取值
if(i<0||i>size)
throw new Exception("该位置不存在!");
return arrayList[i];
}
public int getSize(){//大小
return size;
}
public boolean isEmpty(){//是否为空
return size==0;
}
}
SeqListTest1.java
package com.sheepmu;
/**
* 建立一个线性表,依次输入元素0,1,2...9;然后在第4个位置插入9 ,然后删除数据元素7。最后依次显示当前线性表元素。
* 采用顺序表实现。
* @author SheepMu
*
*/
public class SeqListText1 {
public static void main(String[] args) throws Exception{
SeqList seqList=new SeqList(100);
System.out.println("原始线性表:");
for(int i=0;i<10;i++){
seqList.insert(i, new Integer(i));
System.out.print (seqList.getData(i) +" ");
}
System.out.println("插入一个元素后:");
seqList.insert(4, new Integer(9));
for(int i=0;i<seqList.getSize();i++){
System.out.print (seqList.getData(i) +" ");
}
System.out.println("删除一个元素后:");
seqList.delete(7);
for(int i=0;i<seqList.getSize();i++){
System.out.print (seqList.getData(i) +" ");
}
}
}
顺序表----java实现的更多相关文章
- 数据结构顺序表Java实现
Java实现顺序表算法:1:首先我们需要定义我们的接口,关于顺序表的一些基本的操作:顺序表中的操作都有增删改查. //List接口 public interface IList { //返回线性表的大 ...
- 顺序表JAVA代码
publicclassSeqList{ final int defaultSize =10; //默认的顺序表的最大长度 int maxSize; ...
- 顺序表java实现
public class SeqList { Object[] data; int maxSize; int length; public SeqList(int maxSize) { this.ma ...
- Java实现顺序表
利用顺序存储结构表示的顺序表称为顺序表. 它用一组连续的地址存储单元一次存放线性表中的数据元素. 顺序表的实现是数据结构中最简单的一种. 由于代码中已经有详细注释,代码外不再阐述. 下次再陈上关于顺序 ...
- 线性表中顺序表的的理解和实现(java)
线性表的顺序表示指的是用一组地址连续的存储单元以此存储线性表的数据元素,这种表示也称作线性表的顺序存储结构或顺序映像.通常,称这种存储结构的线性表为顺序表.特点是:逻辑上相邻的数据元素,其物理次序上也 ...
- java顺序表和树的实现
一.顺序表 1.线性表 //java顺序表的实现,如ArrayList就是用线性表实现的,优点是查找快,缺点是添加或删除要移动很多元素,速度慢 public class SequenceList { ...
- 数据结构Java实现02----线性表与顺序表
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- java 顺序表
想看看java版的数据结构,了解一下树的一些操作,写了个顺序表熟悉一下 package com.sqlist; /** * @author xiangfei * 定义一个顺序表 * */ public ...
- 线性表 及Java实现 顺序表、链表、栈、队列
数据结构与算法是程序设计的两大基础,大型的IT企业面试时也会出数据结构和算法的题目, 它可以说明你是否有良好的逻辑思维,如果你具备良好的逻辑思维,即使技术存在某些缺陷,面试公司也会认为你很有培养价值, ...
随机推荐
- [LeetCode] Search for a Range [34]
题目 Given a sorted array of integers, find the starting and ending position of a given target value. ...
- 【转】真正的Acmer
上海交大 戴文渊 大牛写的东西,建议大家看看 yiyiyi4321 2007-07-10 13:49:30.0 http://dwyak.spaces.live.com/?_c11_BlogPart_ ...
- warning: directory not found for option ' '
解决: 选择项目名称-->Targets-->Build Settings-->Search Paths-->Library Search Paths 删除相应路径
- poj3126解题报告
题意:简单的说就是:有一个人门牌号是一个四位数的整数,并且还是一个素数,现在他想要换成另外一个四位数且是素数的门牌号,而且,每次都只能更换这个四位数的一个位置的数 ,也就是每换一次都只改变一个数字,而 ...
- 对consistencygroup的一些研究和实践
声明: 本博客欢迎转载,但请保留原作者信息! 作者:李人可 团队:华为杭州OpenStack团队 consistency group,直译是一致性组,是Juno版本号cinder新引进的一个概念.顾名 ...
- 准备踏入IT编程的学子们,你们第一门编程语言选谁? Are You Ready? Go!
Are You Ready? Go! ——第一门编程语言选谁? 金旭亮 说明: 这篇文章是专门针对大学低年级学生(和其他软件开发初学者)写的,如果你己经是研究生或本科高年级学生,请将这篇文章转发给你的 ...
- 字符串拼接 拆分 NameValueCollection qscoll = HttpUtility.ParseQueryString(result)
string result = "sms&stat=100&message=发送成功"; string d = HttpUtility.ParseQueryStri ...
- MYSQL中取当前年份的第一天和当前周,月,季度的第一天/最后一天
mysql 获取当年第一天的年月日格式:SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY); MySQL里获取当前week.month ...
- The OpenGL pipeline
1. Vertex Data 2. Vertex Shader 3. Tessellation Control Shader 4.Tessellation evaluation Shader 5. G ...
- fragment android
在Eoe中看到了 一个关于的 详细讲解,相信对 学Fragment 有帮助 android fragment基础与源码案例: Fragment动画效果 http://www.eoeandroid.co ...