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 ...
随机推荐
- Vue-cli3性能优化
Vue-cli3.0的打包性能优化方案:https://juejin.im/post/5d42962be51d4561b84c00c3 提升90%加载速度——vuecli下的首屏性能优化:https: ...
- C#规范整理·资源管理和序列化
资源管理(尤其是内存回收)曾经是程序员的噩梦,不过在.NET平台上这个噩梦似乎已经不复存在.CLR在后台为垃圾回收做了很多事情,使得我们现在谈起在.NET上进行开发时,都会说还是new一个对象吧!回收 ...
- prometheus 监控jvm-tomcat
1.prometheus的配置 - job_name: 'java01' #按照这个来分组 scrape_interval: 10s static_configs: - targets: ['192. ...
- 看kubelet的日志 + Kubeadm安装Kubernetes环境
1.通过journalctl看日志 journalctl -xeu kubelet > a参考:https://www.cnblogs.com/ericnie/p/7749588.html
- 剑指offer7: 斐波那契数列第n项(从0开始,第0项为0)
1. 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 2. 思路和方法 斐波那契数列(Fibonacci sequen ...
- 题解 洛谷P1311 【选择客栈】
可能这做法是最奇葩的ST表 我们枚举k,计算每种色调的客栈各有多少种方法 我们利用一种奇怪的思想:除了不可行的,剩下的都是可行的 所以我们先求出 每种颜色的客栈随机选择两个,一共有多少种结果 接着减 ...
- Django+celery+rabbitmq实现邮件发送
一.环境 1.pip包 amqp==2.4.2 anyjson==0.3.3 billiard==3.6.0.0 celery==4.3.0 Django==2.2 dnspython==1.16.0 ...
- Java 常提到的自然序(Natural Ordering)
Natural Ordering常在容器中被提到,和迭代器一起出现. 在Comparable接口的API规范中找到了描述. (https://docs.oracle.com/javase/8/docs ...
- 【sublime Text】sublime Text3安装可以使xml格式化的插件
应该有机会 ,会碰到需要格式化xml文件的情况. 例如,修改word转化的xml文件之后再将修改之后的xml文件转化为word文件. 但是,word另存的xml文件是没有格式的一片: 那怎么格式化 这 ...
- c# word excel text转html的方法
首先是预览图片,这个功能很好实现,无非就是创建一个html页面,嵌套一个<img>,为了限制图片类型,可以定义一个允许预览类型数组作为限制: /// <summary> /// ...