博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java-单链表的实现
阅读量:6598 次
发布时间:2019-06-24

本文共 1968 字,大约阅读时间需要 6 分钟。

/** * establish a single linked list * 创建一个单链表 * @author fred * */public class SingleLinkedList
{ private Node
head; private E data; private int size; //constructor public SingleLinkedList() { head = new Node(); } //get the size of the list //得到该链表的大小 public int getSize() { return size; } //insert data into the end of the list //向链表顺序添加data public void add(E data) { Node
node = new Node(data, null); Node
temp = head; while(temp.next != null) { temp = temp.next; } temp.next = node; size++; } //insert data into the list at the special position //在链表中指定的位置index添加data public void insertByIndex(E data, int index) { if(index < 1 || index > size) { System.out.println("脚标越界"); return; } Node
node = new Node(data, null); Node
temp = head; int count = 1; while(temp.next != null) { if(count++ == index) { node.next = temp.next; temp.next = node; size++; return; } else { temp = temp.next; } } } //delete the data at a sepcial position //删除链表中指定位置的数据 public void deleteByIndex(int index) { Node
temp = head; int count = 1; while(temp.next != null) { if(count++ == index) { temp.next = temp.next.next; return; } else { temp = temp.next; } } } //clear the list //清空链表 public void clear() { size = 0; head.next = null; } @Override public String toString() { String result = "data: "; Node
temp = head; while(temp.next != null) { temp = temp.next; result += temp.data + ", "; } return result; } //establish a inner Node class //叶子类 private class Node
{ private E data; private Node
next; public Node(){ this.data = null; this.next = null; } public Node(E data, Node
next) { this.data = data; this.next = next; } } }

 

转载于:https://www.cnblogs.com/fredkeke/p/9042915.html

你可能感兴趣的文章
[LintCode] 带最小值操作的栈
查看>>
selenium介绍
查看>>
javascript学习笔记
查看>>
xcode - 移动手势
查看>>
本地上jar命令
查看>>
SPI UART区别是什么
查看>>
二、1、怎么做都好做,没flag就抓包
查看>>
Git常用命令总结
查看>>
深入响应式原理——vue.js
查看>>
【洛谷】题解总目录
查看>>
基于内容产品的MVP探索
查看>>
Android studio(AS)的下载和安装
查看>>
Java模拟Delegate
查看>>
DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动
查看>>
51nod 1277字符串中的最大值(拓展kmp)
查看>>
简单写一下图片上传获取宽高的方法
查看>>
数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇
查看>>
基于 HTML5 Canvas 实现的文字动画特效
查看>>
map
查看>>
Fibnoccia 数列简单题
查看>>