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 ...
随机推荐
- LINE最新版6.5.0在iOS上的删除信息取证
iOS: 9.3.2版 LINE: 6.5.0版 取出LINE的数据库 Line.sqlite,路径如下所示: 检视删除的信息,发现还有不少残留,虽然都是片段,但拼拼凑凑总还是能有些蛛丝马迹,毕竟,总 ...
- 轻松入门React和Webpack
最近在学习React.js,之前都是直接用最原生的方式去写React代码,发现组织起来特别麻烦,之前听人说用Webpack组织React组件得心应手,就花了点时间学习了一下,收获颇丰 <!-- ...
- string Format转义大括号:输入字符串的格式不正确。
String.Format("{0} world!","hello") //将输出 hello world!,没有问题,但是只要在第一个参数的任意位置加上一个大 ...
- 在MFC程序中使用AnyCAD图形控件
AnyCAD图形控件有.Net版本和C++两个版本,使用C++要比C#稍微繁杂一点.SDK中提供了针对MFC的文档视图的封装,只需改一下几个基类即可. 准备 VS2010 下载C++版本的AnyCAD ...
- JAVA虚拟机学习笔记(一)Windows10下编译OpenJDK8
转载请注明源地址:http://www.cnblogs.com/lighten/p/5906359.html 1. 编译环境的准备 1.1 JDK源码下载 OpenJDK是JAVA发展史中的一个开源项 ...
- [原]hdu2045 不容易系列三——LELE的RPG难题 (递推方程)
本文出自:blog.csdn.net/svitter 原题:http://acm.hdu.edu.cn/showproblem.php?pid=2045 题意:中文不用我说了吧. 这个题目的关键就在于 ...
- CentOS学习笔记--账号管理与权限配置
Linux 的账号管理与权限配置 管理员的工作中,相当重要的一环就是『管理账号』啦! 使用者标识符: UID 与 GID 虽然我们登陆 Linux 主机的时候,输入的是我们的账号,但是其实 Linux ...
- Everyday is an Opportunity
Quote Of The Day: “Everyday is an Opportunity to Learn and Grow, Don’t Waste Your Opportunity.” – Al ...
- c# 数据库操作学习
一. 如何处理数据库连接 1. 数据库连接可以分为“物理连接”和“逻辑连接”(默认使用连接池的情况下Pooling=true): 物理连接:创建数据库连接时,默认会有一定数量的物理连接(默认Min P ...
- JavaScript相关知识
JavaScript的语法规则 l JavaScript区分大小写 比如变量a和变量A是不一样的变量,要严格区分大小写 l JavaScript脚本程序须嵌入在HTML文件中 因为javascript ...