资讯专栏INFORMATION COLUMN

【数据结构】Java语言描述-单链表的基本操作

sevi_stuo / 2839人阅读

摘要:单链表是数据结构中以动态结构存储的线性结构,在语言中,一般用本类对象引用的方式在内存中将一组相同类型的对象存储,熟悉单链表的基本操作有助于灵活解决此类算法问题。

单链表是数据结构中以动态结构存储的线性结构,在Java语言中,一般用本类对象引用的方式在内存中将一组相同类型的对象存储,熟悉单链表的基本操作有助于灵活解决此类算法问题。

1.单链表中的节点可以用节点类型描述如下:

</>复制代码

  1. public class Lnode{
  2. public char data;
  3. public Lnode next;
  4. }

2.单链表可以按如下的类进行封装:

</>复制代码

  1. public class LinkedList{
  2. Lnode h = null;
  3. public LinkedList(){...}
  4. public insertElement(char ch,int i){...}
  5. //...省略方法
  6. }

3.头插法建立单链表

</>复制代码

  1. public LinkedList(String str){
  2. h = new Lnode;
  3. h.next = null;
  4. int i = 0;
  5. Lnode p;
  6. char ch;
  7. while(i
  8. 4.尾插法建立单链表

  9. </>复制代码

    1. public LinkedList(String str){
    2. h = new Lnode();
    3. h.next = null;
    4. char ch;
    5. Lnode p;
    6. Lnode t = h;
    7. int i = 0;
    8. while(i
    9. 5.求单链表的长度

    10. </>复制代码

      1. public int size(){
      2. int i = 0;
      3. Lnode p = h.next;
      4. while(p!=null){
      5. i++;
      6. p = p.next;
      7. }
      8. return i;
      9. }
    11. 6.1 在单链表某节点之后插入新节点

    12. </>复制代码

      1. public void insertElementAfter(Lnode p,char ch){
      2. Lnode s = new Lnode();
      3. s.data = ch;
      4. s.next = p.next;
      5. p.next = s;
      6. }
    13. 6.2 在单链表第i个元素之前插入一个元素

    14. </>复制代码

      1. public int insertElementAt(int i,char ch){
      2. Lnode p;
      3. int k = 0;
      4. p = h.next;
      5. while(p!=null&&k
      6. 7.删除单链表中某节点的后继节点

      7. </>复制代码

        1. public void remove(Lnode p){
        2. if(p.next!=null){
        3. Lnode s = p.next;
        4. p.next = s.next;
        5. s = null;
        6. }
        7. }
      8. 8.1 按值查找

      9. </>复制代码

        1. public Lnode search(char ch){
        2. Lnode p = h.next;
        3. while(p!=null&&p.data!=ch){
        4. p = p.next;
        5. }
        6. return p;
        7. }
      10. 8.2 按位置查找

      11. </>复制代码

        1. public Lnode get(int i){
        2. Lnode p = h.next;
        3. int k = 0;
        4. while(p!=null&&k

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/68823.html

相关文章

  • 数据结构】线性表:Python语言描述

    摘要:线性表的和采用了顺序表的实现技术,具有顺序表的所有性质。删除链表应丢弃这个链表里的所有结点。在语言中,就是检查相应变量的值是否为。也就是说,插入新元素的操作是通过修改链接,接入新结点,从而改变表结构的方式实现的。 1.线性表 Python的list和tuple采用了顺序表的实现技术,具有顺序表的所有性质。 2.链接表 单向链接表 的结点是一个二元组。 其表元素域elem保存着作为表元素...

    wua_wua2012 评论0 收藏0
  • 数据结构之线性表

    摘要:线性表是最基本的数据结构之一,在实际程序中应用非常广泛,它还经常被用作更复杂的数据结构的实现基础。链表之单链表线性表的定义,它是一些元素的序列,维持着元素之间的一种线性关系。 线性表学习笔记,python语言描述-2019-1-14 线性表简介 在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含...

    leoperfect 评论0 收藏0
  • 数据结构JavaScript描述(二)

    摘要:在上一篇文章中,我们了解了队列和栈的描述,现在让我们来了解一下单链表和双向链表的实现。单链表和双向链表具有以下特点可动态分配空间,但不能随机访问。 在上一篇文章中,我们了解了队列和栈的JavaScript描述,现在让我们来了解一下 单链表 和双向链表 的实现。本文的代码并非所有都由本人所写,只是出于学习目的,在此分享出来,并加上一定的解释,便于大家学习。 本系列文章的代码可在ht...

    OldPanda 评论0 收藏0

发表评论

0条评论

sevi_stuo

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<