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 ...
随机推荐
- boost: tcp client sample
#include <boost/asio.hpp> #include <iostream> using namespace std; using namespace boost ...
- 修改 Ueditor 默认显示的字体大小
默认字体为16px,有点大,为了美观而且一屏可以显示更多内容,可以修改为12px 打开:ueditor.all.min.js 我用的是压缩版 找到如下代码: body{margin:8px;font- ...
- 新手浅谈C#Task异步编程
Task是微软在.net framework 4.0发布的新的异步编程的利器,当然4.5新增了async.await,这儿我们先说Task相关. 在实际编程中,我们用的较多的是Task.Task.Fa ...
- ChainOfResponsibility
#include <iostream> using namespace std; class Chain { public: bool Handle() { return false; } ...
- ASP.NET中的状态保持(转载)
状态是某一类型的数据在一定时期内保持活跃的信息.这里说的一定时期可以使整个应用程序的生命周期,可以使用户操作程序的时间,当然也可以是单个页面的生命周期等. 为了解决传统Web编程中固有的限制,ASP ...
- ASP.NET中@Page指令中的AutoEventWireup
AutoEventWireup:指示控件的事件是否自动匹配 (Autowire).如果启用事件自动匹配,则为 true:否则为 false.默认值为 true.如果设为false,则事件不可用.有关更 ...
- 网页热力图 heatmap js
HBuilder +js 实现网页热力图 废话不多说,上代码 <!DOCTYPE html> <html> <head> <title>111</ ...
- js获取数组中的最大值最小值
遍历方法: var tmp = [1,12,8,5]; var max = tmp[0]; for(var i=1;i<tmp.length;i++){ if(max<tmp[i])max ...
- HUE 忘记密码
解决方法: 启动HUE的Shell /opt/cloudera/parcels/CDH/lib/hue/build/env/bin/hue shell from django.contrib.auth ...
- Git客户端图文详解如何安装配置GitHub操作流程攻略
收藏自 http://www.ihref.com/read-16377.html Git介绍 分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具; 保存点 : ...