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 实现链表的更多相关文章

  1. JAVA单向链表实现

    JAVA单向链表实现 单向链表 链表和数组一样是一种最常用的线性数据结构,两者各有优缺点.数组我们知道是在内存上的一块连续的空间构成,所以其元素访问可以通过下标进行,随机访问速度很快,但数组也有其缺点 ...

  2. Java单链表反转 详细过程

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/guyuealian/article/details/51119499 Java单链表反转 Java实 ...

  3. Java 单向链表学习

    Java 单向链表学习 链表等同于动态的数组:可以不同设定固定的空间,根据需要的内容动态的改变链表的占用空间和动态的数组同一形式:链表的使用可以更加便于操作. 链表的基本结构包括:链表工具类和节点类, ...

  4. java 单链表 练习

    练习一下java单链表的简单习题 package com.test1; import java.util.Stack; public class SingleListDemo { /** * 返回单链 ...

  5. java ListNode 链表

    链表是一种数据结构:由数据和指针构成,链表的指针指向下一个节点. java ListNode 链表 就是用Java自定义实现的链表结构. 基本结构: class ListNode { //类名 :Ja ...

  6. Java单链表反转图文详解

    Java单链表反转图文详解 最近在回顾链表反转问题中,突然有一些新的发现和收获,特此整理一下,与大家分享 背景回顾 单链表的存储结构如图: 数据域存放数据元素,指针域存放后继结点地址 我们以一条 N1 ...

  7. java实现链表

    单链表 package com.voole.linkedlist; public class Test { public static void main(String[] args) { Linke ...

  8. Java关于链表的增加、删除、获取长度、打印数值的实现

    package com.shb.java; public class Demo8 { public Node headNode = null; /** * @param args * @date 20 ...

  9. Java单链表的实现

    将结点Node进行封装,假设Node的操作有增加,删除,查找,打印几个操作.将Node实现为链表Link的内部类,简化代码. package Chapter5; import java.securit ...

  10. java单链表代码实现

    用惯了C++,java写起来果然不太爽...不废话了,上代码... package javaInnerclassDemo; class Link{ class Node{ private String ...

随机推荐

  1. Go语言中方法和函数的区别

    今天看<Go语言实战>发现方法和函数不太一样,写的格式不一样,用法也不一样.所以记一次笔记. 在Go语言中,函数和方法不太一样,有明确的概念区分.其他语言中,比如Java,一般来说,函数就 ...

  2. 前端内容之CSS层叠样式表

    CSS(Cascading Style Sheet层叠样式表) 把HTML认为是网页的骨架 那么CSS就是用于对HTML骨架进行修饰,比如加背景色.显示方式.位置等等属性 CSS语法形式: 一个完整的 ...

  3. Linux正则表达式扩展部分第一波深度实践详解

    扩展的正则表达式(Extended Regular  Expressions): 使用的命令:grep -E 以及 egrep [了解即可] 1)+ 表示重复”一个或一个以上“ 前面的字符(*是0或多 ...

  4. 20191204-使用nginx解决ajax测试调用接口跨域问题

    问题描述 之前要测试一个http的接口,在postman中测试成功,但使用ajax调用却跨域.于是通过使用ngin反向代理的方式来解决ajax调用跨域问题 测试页面的内容 <html> & ...

  5. JavaScript引用类型简单记录

    Object Array instanceof Function 引用类型 - Object {} 等价于 new Object() 我们经常使⽤用对象来承载可选参数,⽽而⽤用 命名的形式参数来传递必 ...

  6. ARTS 第一周打卡

    Algorithm : 做一个 leetcode 的算法题 1.只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算 ...

  7. Petya and Construction Set(图的构造) Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises)

    题意:https://codeforc.es/contest/1214/problem/E 有2n个点,每个2*i和2*i-1的距离必须是Di(<=n),现在让你构造这个树. 思路: 因为Di小 ...

  8. C++类的对象和类的指针的区别

    #include <iostream> #include <string> using namespace std; class Student { public: stati ...

  9. 位运算解决“一个数组中,只有一个数字出现n次,其他数字出现k次”问题

    转自:https://blog.csdn.net/monster_girl/article/details/52928864 在学习完位操作后,经常会遇到一类关于查找缺失整数的问题. 第一类是给你一个 ...

  10. 使用python操作zookeeper

    kazoo 介绍 zookeeper的开发接口以前主要以java和c为主,随着python项目越来越多的使用zookeeper作为分布式集群实现,python的zookeeper接口也出现了很多,现在 ...