java 实现链表
public class MyList {
Entry head;
class Entry {
Object data;
Entry next;
public Entry(Object data) {
this.data = data;
this.next = null;
}
public Entry(){
this.data = -1;
this.next = null;
}
}
public MyList() {
head = new Entry();
}
//不算头节点
public void show() {
Entry p = head;
while (p.next != null) {
System.out.println(p.next.data);
p = p.next;
}
}
//不算头节点
public int size() {
Entry p = head.next;
int sum = 0;
while (p != null) {
sum++;
p = p.next;
}
return sum;
}
//头插法
public void insertHead(int val){
Entry p = new Entry(val);
p.next = head.next;
head.next = p;
}
//尾插法
public void insrtTail(int val){
Entry p = new Entry(val);
//先找出最好一个节点
Entry temp = head;
while (temp.next!=null){
temp = temp.next;
}
temp.next = p;
p.next = null;
}
//计算插入位置的节点
public boolean insertPos(int pos,int val){
Entry p = new Entry(val);
if (pos < 0 || pos > size()){
return false;
}
Entry cur = head;
//先计算出插入的位置
for (int i =0;i<=pos-1;i++){
cur = cur.next;
}
p.next = cur.next;
cur.next = p;
return true;
}
public static void main(String args[]){
MyList myList = new MyList();
// myList.insertHead(1);
// myList.insertHead(2);
// myList.insertHead(3);
// myList.insertHead(4);
// myList.insrtTail(1);
// myList.insrtTail(2);
// myList.insrtTail(3);
// myList.insrtTail(4);
myList.insertPos(0,4);
myList.insertPos(1,6);
myList.insertPos(2,3);
myList.insertPos(3,1);
myList.show();
}
}
https://blog.csdn.net/qq_37937537/article/details/80101744
java 实现链表的更多相关文章
- JAVA单向链表实现
JAVA单向链表实现 单向链表 链表和数组一样是一种最常用的线性数据结构,两者各有优缺点.数组我们知道是在内存上的一块连续的空间构成,所以其元素访问可以通过下标进行,随机访问速度很快,但数组也有其缺点 ...
- Java单链表反转 详细过程
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/guyuealian/article/details/51119499 Java单链表反转 Java实 ...
- Java 单向链表学习
Java 单向链表学习 链表等同于动态的数组:可以不同设定固定的空间,根据需要的内容动态的改变链表的占用空间和动态的数组同一形式:链表的使用可以更加便于操作. 链表的基本结构包括:链表工具类和节点类, ...
- java 单链表 练习
练习一下java单链表的简单习题 package com.test1; import java.util.Stack; public class SingleListDemo { /** * 返回单链 ...
- java ListNode 链表
链表是一种数据结构:由数据和指针构成,链表的指针指向下一个节点. java ListNode 链表 就是用Java自定义实现的链表结构. 基本结构: class ListNode { //类名 :Ja ...
- Java单链表反转图文详解
Java单链表反转图文详解 最近在回顾链表反转问题中,突然有一些新的发现和收获,特此整理一下,与大家分享 背景回顾 单链表的存储结构如图: 数据域存放数据元素,指针域存放后继结点地址 我们以一条 N1 ...
- java实现链表
单链表 package com.voole.linkedlist; public class Test { public static void main(String[] args) { Linke ...
- Java关于链表的增加、删除、获取长度、打印数值的实现
package com.shb.java; public class Demo8 { public Node headNode = null; /** * @param args * @date 20 ...
- Java单链表的实现
将结点Node进行封装,假设Node的操作有增加,删除,查找,打印几个操作.将Node实现为链表Link的内部类,简化代码. package Chapter5; import java.securit ...
- java单链表代码实现
用惯了C++,java写起来果然不太爽...不废话了,上代码... package javaInnerclassDemo; class Link{ class Node{ private String ...
随机推荐
- 【图象处理】图文详解YUV420数据格式
转载自: http://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html YUV格式有两大类:planar和packed. 对于plan ...
- pycharm中文专业版安装使用
激活码 MTW881U3Z5-eyJsaWNlbnNlSWQiOiJNVFc4ODFVM1o1IiwibGljZW5zZWVOYW1lIjoiTnNzIEltIiwiYXNzaWduZWVOYW1lI ...
- uboot传递参数'console=ttyXXX'的作用
转载于:http://blog.csdn.net/jgdu1981/article/details/8643057 linux启动时uboot传递进console=ttyS0,115200n8的参数 ...
- spark-初阶①(介绍+RDD)
spark-初阶①(介绍+RDD) Spark是什么? Apache Spark 是一个快速的, 多用途的集群计算系统, 相对于 Hadoop MapReduce 将中间结果保存在磁盘中, Spark ...
- Hadoop_常用命令(hdfs上)
Hadoop_常用命令(hdfs上) hadoop fs所有文件系统都可以使用 hdfs dfs仅针对于hdfs文件系统 - 1 - 查看所有目录(文件夹)及文件 hdfs dfs -ls / - ...
- 使用alias简化kubectl输入
在使用Kubernetes的过程中,我们需要经常使用kubectl(客户端)命令,经常敲下kubectl是非常繁琐的,使用Linux的alias可以为一些常见的命令起别名,这样使用起来就方便多了. ⒈ ...
- WebMvcConfigurationSupport跨域和fastjson全局替换
@Configuration public class WarnWebMvcConfigurationSupport extends WebMvcConfigurationSupport { /** ...
- PBOC第八部分和第十一部分关于TYPEA总结(二)——传输协议(ISO14443-4)
二.传输协议(ISO14443-4)(8,P50 11,P30) 1.选择应答请求(RATS) 使用RATS命令和PICC协商通讯的最大帧长度(FSD和FSC).帧等待时间(FWT)和启动帧保护时间( ...
- tensorflow零起点快速入门(1)
导入: 其中的TF_CPP_MIN_LOG_LEVEL据说是为了忽略警告,但是我这里没有意义(numpy的一些警告) import tensorflow as tf import os os.envi ...
- workerman stop失败
1.官网说明:https://www.bookstack.cn/read/workerman-manual/faq-stop-fail.md 2.workerman.pid 中的有一个pid号,置为空 ...