iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >java中线性表的存储结构是什么
  • 119
分享到

java中线性表的存储结构是什么

java线性表ava 2023-05-31 04:05:03 119人浏览 独家记忆
摘要

今天就跟大家聊聊有关java中线性表的存储结构是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java数据结构学习笔记第一篇:用程序后在那个的数据大致有四种基本的逻辑结构:集合:

今天就跟大家聊聊有关java中线性表的存储结构是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Java数据结构学习笔记第一篇:

用程序后在那个的数据大致有四种基本的逻辑结构:

集合:数据元素之间只有"同属于一个集合"的关系
线性结构:数据元素之间存在一个对一个的关系
树形结构:数据元素之间存在一个对多个关系
图形结构或网状结构:数据元素之间存在多个对多个的关系

对于数据不同的逻辑结构,计算机在物理磁盘上通常有两种屋里存储结构

顺序存储结构
链式存储结构

本篇博文主要讲的是线性结构,而线性结构主要是线性表,非线性结构主要是树和图。

线性表的基本特征:

总存在唯一的第一个数据元素
总存在唯一的最后一个数据元素
除第一个数据元素外,集合中的每一个数据元素都只有一个前驱的数据元素
除最后一个数据元素外,集合中的每一个数据元素都只有一个后继的数据元素

线性表的顺序存储结构:是指用一组地址连续的存储单元一次存放线性表的元素。为了使用顺序结构实现线性表,程序通常会采用数组来保存线性中的元素,是一种随机存储的数据结构,适合随机访问。java中ArrayList类是线性表的数组实现。

import java.util.Arrays;public class SequenceList<T>{  private int DEFAULT_SIZE = 16;  //保存数组的长度。  private int capacity;  //定义一个数组用于保存顺序线性表的元素  private Object[] elementData;  //保存顺序表中元素的当前个数  private int size = 0;  //以默认数组长度创建空顺序线性表  public SequenceList()  {    capacity = DEFAULT_SIZE;    elementData = new Object[capacity];  }  //以一个初始化元素来创建顺序线性表  public SequenceList(T element)  {    this();    elementData[0] = element;    size++;  }    public SequenceList(T element , int initSize)  {    capacity = 1;    //把capacity设为大于initSize的最小的2的n次方    while (capacity < initSize)    {      capacity <<= 1;    }    elementData = new Object[capacity];    elementData[0] = element;    size++;  }  //获取顺序线性表的大小  public int length()  {    return size;  }  //获取顺序线性表中索引为i处的元素  public T get(int i)  {    if (i < 0 || i > size - 1)    {      throw new IndexOutOfBoundsException("线性表索引越界");    }    return (T)elementData[i];  }  //查找顺序线性表中指定元素的索引  public int locate(T element)  {    for (int i = 0 ; i < size ; i++)    {      if (elementData[i].equals(element))      {        return i;      }    }    return -1;  }  //向顺序线性表的指定位置插入一个元素。  public void insert(T element , int index)  {    if (index < 0 || index > size)    {      throw new IndexOutOfBoundsException("线性表索引越界");    }    ensureCapacity(size + 1);    //将index处以后所有元素向后移动一格。    System.arraycopy(elementData , index , elementData       , index + 1 , size - index);    elementData[index] = element;    size++;  }  //在线性顺序表的开始处添加一个元素。  public void add(T element)  {    insert(element , size);  }  //很麻烦,而且性能很差  private void ensureCapacity(int minCapacity)  {    //如果数组的原有长度小于目前所需的长度    if (minCapacity > capacity)    {      //不断地将capacity * 2,直到capacity大于minCapacity为止      while (capacity < minCapacity)      {        capacity <<= 1;      }      elementData = Arrays.copyOf(elementData , capacity);    }  }  //删除顺序线性表中指定索引处的元素  public T delete(int index)  {    if (index < 0 || index > size - 1)    {      throw new IndexOutOfBoundsException("线性表索引越界");    }    T oldValue = (T)elementData[index];    int numMoved = size - index - 1;    if (numMoved > 0)    {      System.arraycopy(elementData , index+1        , elementData, index ,   numMoved);    }    //清空最后一个元素    elementData[--size] = null;     return oldValue;  }  //删除顺序线性表中最后一个元素  public T remove()  {    return delete(size - 1);  }  //判断顺序线性表是否为空表  public boolean empty()  {    return size == 0;  }  //清空线性表  public void clear()  {    //将底层数组所有元素赋为null    Arrays.fill(elementData , null);    size = 0;  }  public String toString()  {    if (size == 0)    {      return "[]";    }    else    {      StringBuilder sb = new StringBuilder("[");      for (int i = 0 ; i < size ; i++ )      {        sb.append(elementData[i].toString() + ", ");      }      int len = sb.length();      return sb.delete(len - 2 , len).append("]").toString();    }  }}

--结束END--

本文标题: java中线性表的存储结构是什么

本文链接: https://www.lsjlt.com/news/223427.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java中线性表的存储结构是什么
    今天就跟大家聊聊有关java中线性表的存储结构是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java数据结构学习笔记第一篇:用程序后在那个的数据大致有四种基本的逻辑结构:集合:...
    99+
    2023-05-31
    java 线性表 ava
  • 互联网中链表是一种采用什么存储结构存储的线性表
    这篇文章主要介绍互联网中链表是一种采用什么存储结构存储的线性表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!链表是一种采用“链式”存储结构存储的线性表。链表的数据元素所占的存储单元地址可以是连续的,也可以是不连续的,...
    99+
    2023-06-25
  • Java中栈的线性结构是什么
    这期内容当中小编将会给大家带来有关Java中栈的线性结构是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一:栈栈是限制插入和删除只能在一个位置上进行的表,此位置就是表的末端,叫作栈顶。栈的基本操作分为...
    99+
    2023-06-20
  • C语言数据结构之线性表的链式存储结构
    1.什么是线性表的链式存储结构 —链表 存储结点:包括元素本身的信息,还有元素之间的关系逻辑的信息 这个结点有:数据域和指针域 一个指针域:指向后继结点, 单链表 二个指针域: 指向...
    99+
    2022-11-12
  • Java 数据结构线性表之顺序存储详解原理
    目录线性表的定义线性表的基本运算线性表的存储之顺序存储定义线性表添加元素查找元素删除元素打印线性表实现的完整代码测试一下线性表的定义 线性表的逻辑特征: ①有且仅有一个称为...
    99+
    2022-11-12
  • Java线性数据结构是什么
    本篇内容介绍了“Java线性数据结构是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1)数组一眼看上去就知道的,像 String []、...
    99+
    2023-06-15
  • 如何理解C语言数据结构中线性表的链式存储结构
    如何理解C语言数据结构中线性表的链式存储结构,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.什么是线性表的链式存储结构 —链表存储结点:包括元素本身的信息,还有元素之间的关系...
    99+
    2023-06-21
  • MySQL中的数据存储结构是什么
    这篇文章主要介绍“MySQL中的数据存储结构是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL中的数据存储结构是什么”文章能帮助大家解决问题。 ...
    99+
    2023-02-14
    mysql
  • SQL Server中表和索引存储结构的作用是什么
    这篇文章给大家介绍SQL Server中表和索引存储结构的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. 堆所谓堆(heap),就是不含聚集索引的表。堆的 sys.par...
    99+
    2022-10-18
  • mongodb数据存储结构是什么
    MongoDB的数据存储结构是基于文档模型的,它使用了一种称为BSON(Binary JSON)的二进制编码格式来表示和存储文档数据...
    99+
    2023-09-12
    mongodb
  • web开发中数据结构线性结构链表是怎样的
    这篇文章给大家介绍web开发中数据结构线性结构链表是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、前言我们今天要讲解的 链表 不一样,链表是我们数据结构学习的一个重点,也有可...
    99+
    2022-10-19
  • SQL Server数据存储结构是什么
    这期内容当中小编将会给大家带来有关SQL Server数据存储结构是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。文件类型  数据库在磁盘上是以文件为单位存储的,由数...
    99+
    2022-10-18
  • 云数据库mongodb存储结构是什么
    在MongoDB中,数据以文档的形式存储,文档是MongoDB中的基本单元。文档是一个键值对的序列,类似于JSON对象。MongoD...
    99+
    2023-05-13
    云数据库mongodb 云数据库
  • SQLServer的数据存储结构是什么样子的
    今天就跟大家聊聊有关SQLServer的数据存储结构是什么样子的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  SQLServer是一个数据库管理...
    99+
    2022-10-19
  • 怎么使​用Python仿照C语言来实现线性表的顺序存储结构
    今天小编给大家分享一下怎么使用Python仿照C语言来实现线性表的顺序存储结构的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-06-16
  • Java数据结构之链表的概念及结构是什么
    今天小编给大家分享一下Java数据结构之链表的概念及结构是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、 链表的概念...
    99+
    2023-07-05
  • Java数据结构之单链表是什么
    这篇文章给大家分享的是有关Java数据结构之单链表是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、图示二、链表的概念及结构 链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接...
    99+
    2023-06-15
  • java数据结构中的循环链表和栈是什么
    这篇文章主要讲解了“java数据结构中的循环链表和栈是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java数据结构中的循环链表和栈是什么”吧!目录循环链表:实现思路:代码实现:栈:实现...
    99+
    2023-06-20
  • Java中树的存储结构实现示例代码
    一、树树与线性表、栈、队列等线性结构不同,树是一种非线性结构。一棵树只有一个根节点,如果一棵树有了多个根节点,那它已经不再是一棵树了,而是多棵树的集合,也被称为森林。二、树的父节点表示法树中除根节点之外每个节点都有一个父节点,为了记录树中节...
    99+
    2023-05-31
    java 存储结构
  • C语言数据结构中的线性表怎么使用
    这篇文章主要介绍“C语言数据结构中的线性表怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言数据结构中的线性表怎么使用”文章能帮助大家解决问题。一、分文件编写1、分文件编写概念在Visua...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作