资讯专栏INFORMATION COLUMN

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

sevi_stuo / 2767人阅读

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

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

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

public class Lnode{
    public char data;
    public Lnode next;
}

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

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

3.头插法建立单链表

public LinkedList(String str){
    h = new Lnode;
    h.next = null;
    int i = 0;
    Lnode p;
    char ch;
    while(i

4.尾插法建立单链表

public LinkedList(String str){
    h = new Lnode();
    h.next = null;
    char ch;
    Lnode p;
    Lnode t = h;
    int i = 0;
    while(i

5.求单链表的长度

public int size(){
    int i = 0;
    Lnode p = h.next;
    while(p!=null){
        i++;
        p = p.next;
    }
    return i;
}

6.1 在单链表某节点之后插入新节点

public void insertElementAfter(Lnode p,char ch){
    Lnode s = new Lnode();
    s.data = ch;
    s.next = p.next;
    p.next = s;
}

6.2 在单链表第i个元素之前插入一个元素

public int insertElementAt(int i,char ch){
    Lnode p;
    int k = 0;
    p = h.next;
    while(p!=null&&k

7.删除单链表中某节点的后继节点

public void remove(Lnode p){
    if(p.next!=null){
        Lnode s = p.next;
        p.next = s.next;
        s = null;
    }
}

8.1 按值查找

public Lnode search(char ch){
    Lnode p = h.next;
    while(p!=null&&p.data!=ch){
        p = p.next;
    }
    return p;
}

8.2 按位置查找

public Lnode get(int i){
    Lnode p = h.next;
    int k = 0;
    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元查看
<