java实现线性链表
package list; public class LineList { Object[] elem; int current; int size; public LineList() { this(100);//初始化生成一个100个元素的数组 } public LineList(int a) { elem = new Object[a]; size = a; current = 0; } //方法用来判断数组大小是否还够用 public void enhanceSize() { if (current == size) { size+=10; Object[] newElem = new Object[size]; int n=0; for(Object obj:elem){ newElem[n]=obj; n++; } elem = newElem; } } //添加元素 public void add(Object e){ enhanceSize(); elem[current]=e; current++; } // 获取元素 public Object get(int index){ return elem[index]; } }
单链表;
1)节点定义:
package linekedList; public class NodeDemo { int data; NodeDemo next; }
2)单链表;
package linekedList; public class LinkedListDemo { NodeDemo head = new NodeDemo(); NodeDemo currentNode = head; //尾插法添加元素 public void add(int e) { NodeDemo newNode = new NodeDemo(); newNode.data = e; currentNode.next = newNode; currentNode = newNode; } 获得指定序号的元素 public Object get(int index) { int i = 0; NodeDemo nodep = head; while ((nodep.next != null) && i < index) { nodep = nodep.next; i++; } return nodep.data; } //链表的插入 public void insertList(int index, int e) { if (index <= 0) { System.out.println("插入位置不合法!!!"); } else { NodeDemo newNode = new NodeDemo(); newNode.data = e; int i = 0; NodeDemo nodep = head; while ((nodep.next != null) && i < index) { nodep = nodep.next; i++; } newNode.next = nodep.next; nodep.next = newNode; } } //两个有序链表的合并,合并后为一个有序链表 public LinkedListDemo mergeLinkedList(LinkedListDemo lB) { NodeDemo lANode = this.head.next; NodeDemo lBNode = lB.head.next; LinkedListDemo lC = new LinkedListDemo(); NodeDemo currentNode = lC.head; while (lANode != null && lBNode != null) { if (lANode.data <= lBNode.data) { currentNode.next = lANode; currentNode = lANode; lANode = lANode.next; System.out.println("A的"); } else { currentNode.next = lBNode; currentNode = lBNode; lBNode = lBNode.next; System.out.println("B的"); } } if (lANode != null) { currentNode.next = lANode; } else { currentNode.next = lBNode; } return lC; } }
相关推荐
线性表,单链表,栈的代码实现,java简单实现,内附有代码少许注释
链表实现线性表的基本功能,继而更进一步地去活学活用的用好这个基本数据结构,最后更好的编程续写出更完美的程序片段
数据结构---线性表之单链表,包括单链表的创建、插入、删除等,C语言编写
2022410067商萱萱线性表(单链表)合并.cpp
用链表实现线性表java用链表实现线性表
数据结构C语言版-线性表的单链表存储结构表示和实现优质资料.doc
包括对单链表的各种操作
1-【了解】线性表的增删改查源代码 /* * 1、创建线性表,并且初始化 * 2、打印线性表 * 3、增、删、改、查 * * 线性表特点: * 1)连续的 --用数组来去表现 * 2)有限的 --设定长度 * */ #include <stdio.h> #include ...
数据结构C语言版-线性表的单链表存储结构表示和实现.doc
实验1-2 线性表-单链表.doc
单链表的类定义和类实现,常见操作,插入、删除。
JAVA线性表JAVA线性表JAVA线性表JAVA线性表
压缩包中有两个.java文件,一个是接口一个是具体实现,使用java代码实现了线性表
Java数据结构 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构
数据结构 线性表的单链表存储结构PPT学习教案.pptx
数据结构-线性表-单链表的查找、插入、删除.doc
算法-理论基础- 线性表- 单链表(包含源程序).rar
用Java 实现的线性表的一些操作。线性表实现其实很简单,类似操作数组,只是添加删除时要注意下。