4、链表
来源:互联网 发布:2016年淘宝类目销售额 编辑:程序博客网 时间:2024/06/06 01:22
1、链接点
public class MyLink { private int data; private MyLink next; public MyLink(int data){ this.data = data; } public int getData() { return data; } public void setData(int data) { this.data = data; } public MyLink getNext() { return next; } public void setNext(MyLink next) { this.next = next; }}
测试:
public class TestLink { public static void main(String[] args) { MyLink myLink1 = new MyLink(10); MyLink myLink2 = new MyLink(20); MyLink myLink3 = new MyLink(30); MyLink myLink4 = new MyLink(40); myLink1.setNext(myLink2); myLink2.setNext(myLink3); myLink3.setNext(myLink4); System.out.println(myLink1.getData()); System.out.println(myLink1.getNext().getData()); System.out.println(myLink1.getNext().getNext().getData()); System.out.println(myLink1.getNext().getNext().getNext().getData()); }}
2、链表的基本实现:
链接点:
public class Link { private int data; private Link next; public Link(int data){ this.data = data; } public int getData() { return data; } public void setData(int data) { this.data = data; } public Link getNext() { return next; } public void setNext(Link next) { this.next = next; }}
链表实现:
public class LinkList { private Link first; //正常插入,都是在第一个插入 public void insert(int value){ Link link = new Link(value); if(first == null){ first = link; }else { link.setNext(first); first = link; } } public void display(){ Link current = first; while(current!=null){ System.out.print(current.getData()+" "); current = current.getNext(); } } //查找元素 public Link search(int value){ Link current = first; while(current.getData() != value){ if(current.getNext() == null){ return null; } current = current.getNext(); } return current; } //将数据插入到指定位置 public void insert(int value,int pos){ if(pos == 0){ insert(value); }else { Link current = first; for(int i=0; i<pos-1; i++){ current = current.getNext(); } Link link = new Link(value); link.setNext(current.getNext()); current.setNext(link); } } //删除指定的节点 public void delete(int value){ Link current = first; Link ago = first; while(current.getData()!=value){ if(current.getNext()==null){ return; }else { ago = current; current = current.getNext(); } } if(current == first){ first = first.getNext(); }else { ago.setNext(current.getNext()); } }}
测试:
public class TestLink02 { public static void main(String[] args) { LinkList linkList = new LinkList(); linkList.insert(10); linkList.insert(20); linkList.insert(30); linkList.insert(40); linkList.insert(50); linkList.display(); System.out.println("找到的节点数据是:"+linkList.search(10).getData()); System.out.println("================="); linkList.insert(111,2); linkList.display(); System.out.println(); System.out.println("================="); linkList.delete(20); linkList.display(); }}
阅读全文
0 0
- 4、链表
- 集合(4-链表 LinkedList)
- (4)链表
- (4)链表(单链表)
- 数据结构学习笔记--(4) 链表--第二节
- 链表《4》删除链表中的结点
- 链表(4)----反转链表
- python数据结构学习笔记-4-链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- Mvp框架(完美实现P层剥离)+基类activity、fragment剥离 MVP demo
- 领域模型-实体对象和值对象
- 图片快速居中在div中
- JS获取短信验证码button的定时重新发送
- [Office] 段落缩进,首行缩进和首字下沉
- 4、链表
- React + MobX 入门及实例(一)
- 关于深度学习移动化的思考
- PHPStorm 2017激活
- Java基础的学习路线粗解
- java 创建 数据库 表
- spring的事务管理
- Nginx配置负载均衡
- 5、递归