顺序表 -- JAVA实现

标签: java 数据结构
10人阅读 评论(0) 收藏 举报
分类:

顺序表是以数组形式存储的线性表。




建立顺序表


接口类 IFList

public interface IFList {
	//是否为空
	public boolean isEmpty();
	//返回顺序表长度
	public int getLen();
	//顺序表插入元素
	public void insert(int index,Object obj)throws Exception;
	//顺序表删除元素
	public Object delete(int index)throws Exception;
	//顺序表查找元素的位置
	public int selectIndex(Object []obj)throws Exception;
	//顺序表查找位置的元素
	public Object selectValue(int index)throws Exception;
}


顺序表类继承IFList

实现各种方法

public class MySqList implements IFList {
	//数组长度
	private int lensize;
	//当前长度
	private int len;
	//对象数组
	private Object[] MySqList;
	
	MySqList() {
		// TODO Auto-generated constructor stub
		this(100);
	}
	
	MySqList(int len)
	{
		lensize = len;
		this.len = 0;
		MySqList = new Object[len];
	}
	
	public boolean isEmpty() {
		return len==0;
	}
	
	@Override
	public int getLen() {
		// TODO Auto-generated method stub
		return len;
	}

	@Override
	public void insert(int index,Object obj)throws Exception {
		// TODO Auto-generated method stub
		
		if( index < 0 || index > len ) {
			throw new Exception("index位置不存在");
		}
		for(int i = len;i>=index;i--) {
			MySqList[i+i] = MySqList[i]; 
		}
		MySqList[index] = obj;
		len++;
	}

	@Override
	public Object delete(int index)throws Exception {
		// TODO Auto-generated method stub
		if( index<0 || index>len )
		{
			throw new Exception("无操作对象");
		}
		Object obj = MySqList[index];
		for(int i = index; i<=len;i++)
		{
			MySqList[i] = MySqList[i+1];
		}
		
		return obj;
	}

	public int selectIndex(Object obj)throws Exception {
		// TODO Auto-generated method stub
		for(int i=0;i<len;i++)
		{
			if(obj==MySqList[i]) {
				return i;
			}
		}
		throw new Exception("该顺序表中无此元素");
	}
		
	@Override
	public Object selectValue(int index)throws Exception {
		// TODO Auto-generated method stub
		if(index<0 || index>len) {
			throw new Exception("该位置没有元素");
		}
		
		return MySqList[index];
	}
	
}


实现代码

public class SQList {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
			MySqList list = new MySqList(100);
			for(int i = 0;i<50;i++) {
				try {
					list.insert(i, new Integer(i));
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			for(int i = 0;i<50;i++) {
				try {
					System.out.print(list.selectValue(i)+" ");
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
	}

}





查看评论

《Java + JDBC + Freemarker引擎实现代码生成器》

本主要是针对有一定基础的Java学员。本课程主要是围绕着如何根据公司具体的技术架构,手把手的实现一个强大的代码生成器。该生成器主要包括如果根据数据库表,自动生成 Model 文件,DTO 文件,DAO 文件,MyBatis的 Mappter 文件,Service 文件,Controller文件等等,包括基本的增删改查,分页,搜索查询等等接口代码自动生成。
  • 2017年06月10日 02:38

顺序表----java实现

最简单的数据结构——顺序表,此处以数组为例。 顺序表的优点:支持随机读取,内存空间利用率高。 顺序表的缺点:1.需要预先给出最大数据元素个数,这往往很难实现。  2.插入和删除时需要移动大量数据。 S...
  • u010093630
  • u010093630
  • 2013-12-29 17:40:25
  • 2045

JAVA实现顺序表

JAVA实现顺序表      花了十来分钟帮同学写了一个顺序表,顺序表是线性表中最简单的,最容易实现的。顺序表中元素在逻辑上的相邻,在物理上也是相邻的。顺序表可以用数组来实现。下面是实现   /...
  • zhangdongxuan
  • zhangdongxuan
  • 2015-07-17 10:49:29
  • 631

顺序表--Java实现

顺序表是一个比较重要的数据结构。它的特点有以下: 逻辑上相邻的数据,在物理存储的位置上也是相邻的。 存储密度高,需要预先分配空间。后续的代码可以看到。 便于随机存取。 但是它存储结构跟数组是一样,所以...
  • sinat_20418545
  • sinat_20418545
  • 2016-08-28 15:40:30
  • 3118

Java实现顺序表及常见操作

//顺序表类,实现ADT List声明的方法,T表示数据元素的数据类型 public class SeqList extends Object{ //对象数组存储顺序表的数据元素,protected...
  • dingjing1994
  • dingjing1994
  • 2017-05-11 20:46:43
  • 2110

用Java实现顺序表及其基本操作

package lwh.linearlist.seqlist;import java.util.Arrays;public class SeqList { private int maxLeng...
  • m0_37572458
  • m0_37572458
  • 2017-09-28 15:17:35
  • 303

用JAVA实现顺序表

顺序表演示package date;import java.util.Scanner;//顺序表数据元素类Date class Date { // 模拟一个班级的学生记录 ...
  • java_zero2one
  • java_zero2one
  • 2016-09-02 16:08:38
  • 1173

java 顺序表实现增删改查,合并,排序功能

 我的代码: package ypj; import java.util.*; import java.lang.Math; public class yupeijie_Seq {  ...
  • ypj131
  • ypj131
  • 2016-11-18 11:59:54
  • 1433

java实现顺序表数据结构

java实现数据结构
  • wumanxin2018
  • wumanxin2018
  • 2017-12-10 19:32:54
  • 48

java顺序表

昨天自己在网上找了些教程把C语言的顺序表简单的实现了,完成了之后我就想数据结构是凌驾于所有语言之上的,既然C语言能实现顺序表那么java能不能写呢,想到这儿我就开始赶工敲java代码了,但是当我下手开...
  • codeHaoHao
  • codeHaoHao
  • 2016-10-25 10:17:50
  • 1256
    个人资料
    持之以恒
    等级:
    访问量: 9557
    积分: 1170
    排名: 4万+
    文章存档
    最新评论