博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
链表(无头)的编写思路
阅读量:3972 次
发布时间:2019-05-24

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

引入原因:

有头链表中,单纯的用add方法不能解决向链表头添加节点的情况。故人为地为链表头部添加一个dummyHead来解决此问题(即消除了添加节点位置前端无节点的情况

代码

package LinkedList;public class LinkedList无头
{
private class Node{
//用户不需要访问节点的内部结构,故用private public E e; public Node next;//区别于C,Java直接创建一个新的Node作为next //Node构造函数 public Node(E e,Node next) {
this.e=e; this.next=next; } public Node(E e) {
this(e,null); } public Node() {
this(null,null); } @Override public String toString() {
return e.toString(); } } //构造参数head和size private Node dummyHead; private int size; public LinkedList无头() {
dummyHead=new Node(null,null);//需为dummyHead创建一个Node节点 size=0; } //获得链表中元素个数 public int getSize() {
return size; } //返回链表是否为空 public boolean isEmpty() {
return size==0; } //在链表头添加新元素e public void addFirst(E e) {
add(0,e); } //在链表中间添加元素 public void add(int index,E e) {
if(index<0||index>size) {
throw new IllegalArgumentException("Add failed.Index illegal."); } if(index==0) addFirst(e);//addFirst不符合add的规律 Node prev=dummyHead; for(int i=0;i

转载地址:http://mbmki.baihongyu.com/

你可能感兴趣的文章
数据类型和变量
查看>>
表连接(JOIN)
查看>>
游标(Cursor)
查看>>
复合语句(compound statement)
查看>>
DB2 物化查询表
查看>>
IF 语句
查看>>
循环语句
查看>>
DB2 临时表
查看>>
ITERATE、LEAVE、GOTO和RETURN
查看>>
异常处理
查看>>
存储过程
查看>>
动态SQL(Dynamic SQL)
查看>>
在存储过程之间传递数据
查看>>
迁移存储过程
查看>>
GET DIAGNOSTIC 语句
查看>>
Python 简介
查看>>
Python 注释
查看>>
Python 变量
查看>>
Python 数据类型 -- 数字
查看>>
Spring 管理对象
查看>>