java 顺序表
想看看java版的数据结构,了解一下树的一些操作,写了个顺序表熟悉一下
package com.sqlist; /**
* @author xiangfei
* 定义一个顺序表
*
*/
public class SqlList {
final int deflen = 10;
int maxlen;
int curlen;
Object elements[]; /**
* 默认构造方法
*/
public SqlList(){
maxlen = deflen;
curlen = 0;
elements = new Object[maxlen];
}
/**
* 根据一个数据和最大长度初始化一个数据表
* @param array
* @param maxlen
*/
public SqlList(Object array[], int maxlen){
this.maxlen = array.length > maxlen ? array.length : maxlen;
curlen = array.length;
elements = new Object[this.maxlen]; //copy
for(int i = 0; i < maxlen; i++){
elements[i] = array[i];
}
}
/**
* @param sqlList
* 拷贝构造方法
*/
public SqlList(SqlList sqlList){
this.maxlen = sqlList.maxlen;
this.curlen = sqlList.curlen;
//这里用深度拷贝
elements = new Object[this.maxlen];
//copy
for(int i = 0; i < this.maxlen; i++){
elements[i] = sqlList.elements[i];
}
}
/**
* 向指定位置position插入元素element
* @param element
* @param position
* @return
*/
public boolean insertElement(Object element, int position){
if(position < 0 || position >= maxlen)
return false;
else{
int i = curlen - 1;
while(i > position){
elements[i] = elements[i - 1];
}
elements[position] = element;
return true;
}
}
/**
* 删除指定位置的元素
* @param position
* @return
*/
public Object deleteElement(int position){
if(position < 0 || position >= curlen)
return null;
else{
Object elementDel = elements[position];
int i = position;
while(i < curlen){
elements[i] = elements[i + 1];
}
return elementDel;
}
}
/**
* 打印所有的元素
*/
public void showSqlList(){
for(int i = 0; i < curlen; i++)
{
System.out.print(elements[i].toString() + " ");
}
}
}
测试类(这里只测了一个构造方法,其他方法也写的很粗糙)
package com.sqlist; /**
* 测试顺序表
* @author xiangfei
*
*/
public class SqlListTest {
public static void main(String args[]){
Integer array_int[] = new Integer[]{1, 2, 3};
SqlList sqlList = new SqlList(array_int, 3); sqlList.showSqlList();
}
}
java 顺序表的更多相关文章
- java顺序表和树的实现
一.顺序表 1.线性表 //java顺序表的实现,如ArrayList就是用线性表实现的,优点是查找快,缺点是添加或删除要移动很多元素,速度慢 public class SequenceList { ...
- 数据结构Java实现02----线性表与顺序表
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- 线性表 及Java实现 顺序表、链表、栈、队列
数据结构与算法是程序设计的两大基础,大型的IT企业面试时也会出数据结构和算法的题目, 它可以说明你是否有良好的逻辑思维,如果你具备良好的逻辑思维,即使技术存在某些缺陷,面试公司也会认为你很有培养价值, ...
- 顺序表----java实现
最简单的数据结构--顺序表,此处以数组为例. 顺序表的优点:支持随机读取,内存空间利用率高. 顺序表的缺点:1.需要预先给出最大数据元素个数,这往往很难实现. 2.插入和删除时需要移动大量数据. Se ...
- Java实现顺序表
利用顺序存储结构表示的顺序表称为顺序表. 它用一组连续的地址存储单元一次存放线性表中的数据元素. 顺序表的实现是数据结构中最简单的一种. 由于代码中已经有详细注释,代码外不再阐述. 下次再陈上关于顺序 ...
- [Java算法分析与设计]--线性结构与顺序表(List)的实现应用
说到线性结构,我们应该立马能够在脑子里蹦出"Array数组"这个词.在Java当中,数组和对象区别基本数据类型存放在堆当中.它是一连串同类型数据存放的一个整体.通常我们定义的方式为 ...
- 数据结构——Java实现顺序表
一.分析 什么是顺序表?顺序表是指用一组地址连续的存储单元依次存储各个元素,使得在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中的线性表.一个标准的顺序表需要实现以下基本操作: 1.初始化顺序表 ...
- 数据结构(java版)学习笔记(二)——线性表之顺序表
顺序表的优点: 随机存取元素方便,根据定位公式容易确定表中每个元素的存储位置,所以要指定第i个结点很方便 简单,直观 顺序表的缺点: 插入和删除结点困难 扩展不灵活,难以确定分配的空间 容易造成浪费 ...
- 使用JAVA数组实现顺序表
1,引入了JAVA泛型类,因此定义了一个Object[] 类型的数组,从而可以保存各种不同类型的对象. 2,默认构造方法创建了一个默认大小为16的Object数组:带参数的构造方法创建一个指定长度的O ...
随机推荐
- [python 2.7.5] 实现配置文件的读写
import ConfigParser config = ConfigParser.RawConfigParser() # When adding sections or items, add the ...
- Shiro使用总结
Shiro已经添加到项目中,现阶段管理两个功能: 1.身份验证:(已经能够满足现阶段需求) 2.权限管理: 权限管理,需要在界面中加一些标签,后台角色.资源的管理也需要整理好,然后在前端添加管理. 1 ...
- Android IOS WebRTC 音视频开发总结(七)-- 基于浏览器的开发
前面写的一系列总结都是讲webrtc如何下载,编译,开发的,有些人可能有点云里雾里了,WEBRTC不是用来搞跨浏览器开发的吗,怎么我讲的这些跟浏览器扯不上任何关系,其实看看下面这个架构图,你就明白了, ...
- 自制docker basic image
docker的安装和入门见官网教程:http://docs.docker.com/ 下面是自制docker basic image的步骤,以ubuntu为例. 1. 安装debootstrap apt ...
- mysql在生产环境下有大量锁表,又不允许重启的情况下的处理办法
mysql在生产环境下有大量锁表,又不允许重启的情况下的处理办法 满头大汗的宅鸟该怎么办呢? mysql -u root -e "show processlist"|grep -i ...
- 判断手机,pc方式登录
<script type="text/javascript"> function browserDetect() { var ...
- Custom Sort Order
When trying to sort based on values that do not fit the standard ascending and descending sort logic ...
- Kettle 合并记录报错!
在Kettle的合并记录过程的时候,在“为了转换解除补丁开始 ”这一步的时候报错.具体错误如图所示: Kettle的转换如图所示: 问题原因:可能是你的数据库链接驱动和Kettle的版本不兼容. 解决 ...
- 使用DBCP时发生AbstractMethodError异常
使用DBCP时发生AbstractMethodError异常,错误描述: Exception in thread "main" java.lang.AbstractMethodEr ...
- highcharts与highstock实例
highcharts实例代码 <head> <title>highcharts报表示例</title> <meta http-equiv="Cont ...