`
128kj
  • 浏览: 594776 次
  • 来自: ...
社区版块
存档分类
最新评论

简单的单链表

 
阅读更多
只实现了add()和get()方法,采用tail指针,使得添加节点非常简单。
public class SingleLinkedList<T> {

    int size = 0;
    Node<T> head, tail;

    public SingleLinkedList() {
        head = tail = null;
    }

    public void add(T data) {
        if (size == 0) {
            head = tail = new Node<T>(data, null);
        } else {
            tail.next = new Node<T>(data, null);
            tail = tail.next;
        }
        size++;
    }

    public Node<T> get(int index) {
        if (index < 0 || index >= size) {
            throw new IndexOutOfBoundsException("Index:" + index + ",size:" + size);
        }
        Node<T> node = head;
        for (int i = 0; i < index; i++) { //当index=0时,i不小于index(零不小于零),于是直接return头结点,head不是哑元
            node = node.next;           //对头结点进行迭代
        }
        return node;
    }

    public int size(){
        return size;
    }

    public static void main(String[] args){
        SingleLinkedList<Integer> list=new SingleLinkedList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i).getData());
        }
    }


class Node<T> {

    T data;
    Node<T> next;

    public Node(T data, Node<T> next) {
        this.data = data;
        this.next = next;
    }

   public T getData(){
       return data;
    }

    public void setData(T data){
        this.data=data;
    }
 }

}
分享到:
评论

相关推荐

    简易单链表实现,附带LruCache算法的增删改查

    简易单链表增删改查功能实现。新增内容:新增单链表LruCache算法增删改查,对学习LruCache 算法有一定帮助。

    手写简单单链表实现功能

    手动实现简单单链表实现,有助于学习数据结构之单链表。其中实现的功能有增删改查功能。单链表的优点是插入删除效率高。但不支持随机查找,查找效率低。

    简单单链表

    在已建好的单链表L中第一次出现内容为a的结点前面插入一个内容为b的结点。若内容为a的结点不存在,则把元素b插入到单链表的最后。 打印输入字符,打印插入元素b后单链表中的每个字符。

    简单单链表(数据结构)

    单链表是计算机科学中一种基础且重要的数据结构,它在很多编程问题和算法实现中都有广泛应用。在本文中,我们将深入探讨单链表的概念、结构、操作以及它在实际编程中的应用。 单链表是一种线性数据结构,每个元素...

    C语言2种方式实现简单单链表的创建

    C语言:数组创建单链表;键盘输入数值创建单链表。 int main() { pNode tmp=(pNode)malloc(sizeof(struct Node) ); tmp=creatList(); tmp=inputCreatList(); return 0; }

    LinkList单文件_一个简单单链表_

    本文将深入探讨单链表的概念、特点、基本操作以及如何在实际编程中实现一个简单的单链表。 单链表由一系列节点组成,每个节点包含两部分:数据域(用于存储数据)和指针域(用于存储下一个节点的地址)。在单链表中...

    简单单链表实现(初学者)

    简单的单向链表(数据结构初学者)(cpp)文件中头文件和源文件都在一个文件中.请下载后的同学仔细看好。

    C语言创建简单单链表源码

    1.单链表创建 2.头插法 3.尾插法 4.删除 5.遍历

    单链表的简单实现

    单链表的简单实现代码

    单链表上的简单选择排序算法

    当我们需要在单链表这种非数组结构上进行排序时,需要对基本的简单选择排序算法进行一些调整。接下来,我们将详细探讨如何在单链表上实现简单选择排序。 **一、单链表基础知识** 单链表是一种线性数据结构,由一...

    使用C++实现单链表的基本操作:1、创建单链表2、遍历单链表3、单链表插入4、删除单链表5、判断是否为空6、单链表的

    判断链表是否为空很简单,只需要检查头节点是否为nullptr: ```cpp bool isEmpty(ListNode* head) { return head == nullptr; } ``` 计算单链表的长度,可以初始化一个计数器,遍历链表时每次增加计数器: ```...

    简单的单链表逆序 非递归

    单链表是非循环且只有一个指向下一节点的链接的数据结构。本次讨论的核心在于如何实现单链表的逆序,特别是采用非递归方法完成这一操作。 ### 单链表逆序的重要性 单链表逆序在实际应用中具有广泛的意义。例如,在...

    单链表的实现-简单操作

    单链表的实现-简单操作

    数据结构线性表简单程序 单链表

    线性表是数据结构的一种基本形式,而单链表是线性表的一种具体实现方式,尤其适合初学者入门学习。本文将深入探讨单链表的概念、特性、操作以及通过指针实现的细节。 单链表是一种动态数据结构,它由一系列节点组成...

    一个简单的单链表作业

    单链表是一种基础的数据结构,它在计算机科学中扮演着重要的角色,特别是在数据存储和算法实现方面。在本作业中,我们将重点讨论单链表的基本概念、操作以及如何通过编程实现这些操作。 单链表是一种线性数据结构,...

    数据结构单链表的实例

    ### 数据结构之单链表实例解析 在计算机科学领域中,数据结构是研究如何组织、...单链表作为一种简单且高效的数据结构,在处理动态数据集合时具有很大的灵活性。理解其工作原理对于学习更复杂的数据结构非常有帮助。

    C++ 单链表反转 C++ 单链表反转

    在`main`函数中,我们创建了两个节点`node1`和`node2`,并构建了一个简单的链表,然后调用`Reverse`函数进行反转,并打印反转后的链表头的`nData`值,验证反转操作是否成功。 总结来说,这段C++代码演示了如何通过...

    Java实现单链表以及单链表的操作.zip

    单链表是一种简单但灵活的数据结构,常用于实现各种抽象数据类型,如队列、栈和映射。本教程将深入探讨如何使用Java语言来实现单链表及其相关操作。 首先,我们来理解单链表的基本概念。单链表由一系列节点组成,每...

    基本的单链表的线性操作

    总结来说,单链表是一种简单但功能强大的数据结构,对于理解和掌握更复杂的算法和数据结构,如二叉树、图等,都起着至关重要的作用。学习和熟练掌握单链表的操作是任何IT专业人员的必修课。在实际应用中,根据具体...

Global site tag (gtag.js) - Google Analytics