java 中链表的实现

Wesley13
• 阅读 665
//数据类 
class DATA2
{
String key;
String name;
int age;
}
//定义链表类
class CLType
{
DATA2 nodedata=new DATA2();
CLType nextNode=null;//下一个节点
}




功能一:追加节点;
CLType CLAddEnd(CLType head ,DATA2 nodeData)
{
//定义链表结构的变量
CLType node,htemp;
if((node=new CLType())==null)
{
System.out.println("申请内存失败!");
return null;
}
else
{
node.nodeData=nodeData;//保存数据
node.nextNode=null;//设置节点引用为空,就是为表尾
if(head==null)
{
head=node;
return head;
}
htemp=head;//将head赋给htemp
while(htemp.nextNode!=null)
{
htemp=htemp.nextNode;
}
//将node赋到htemp后面
htemp.nextNode=node;
return head;
}
}
//功能二:插入头结点
CLType CLAddFirst(CLType head,DATA2 nodeData)
{
CLTpe node;
if((node=new CLType())==null)
{
System.out.println("申请内存失败!");
return null;
}
else
{
node.nodeData=nodeData;  //保存数据
node.nextNode=head;
head=node;   //头引用指向新增的节点
return head;
}
}
//功能三:插入节点
CLType CLInsertNode()
{
}

在java中还有LinkList类可以实现链表的功能,在实现其下面的方法:

public E elemnet();  //找到链表的头
public boolean offer(E o) ;//将指定元素增加到链表的结尾
public E peek();//找到但不删除链表的头
public E poll(); //找到并删除链表的头
public E remove();//检索并移除表头


public void addFirst(E o);在表头增加元素
public void addLast(E o);在表的结尾增加元素
public boolean offer(E p);在表的结尾增加元素

public E removeFirst();//删除链表的第一个元素
public E removeLast();//删除链表的最后一个元素
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
Hive 删除行, 表 ,清空表
删除行A表数据如下id(String)       name(String)\1                       aaa2                      bbb3                      ccc\
Stella981 Stella981
3年前
List的Select 和Select().tolist()
List<PersondelpnewList<Person{newPerson{Id1,Name"小明1",Age11,Sign0},newPerson{Id2,Name"小明2",Age12,
Wesley13 Wesley13
3年前
JAVA实现双向链表的增删功能
JAVA实现双向链表的增删功能,完整代码  1.packagelinked;3.classLinkedTable{5.}6.publicclassLinkedTableTest{8.  //构造单链表9.  staticNodenode1newNode("name1");10.
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
mysql select将多个字段横向合拼到一个字段
表模式:CREATE TABLE tbl_user (  id int(11) NOT NULL AUTO_INCREMENT,  name varchar(255) DEFAULT NULL,  age int(11) DEFAULT NULL,  PRIMARY KEY (id)
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这