用java实现泛型编程的单链表
来源:互联网 发布:js点击按钮上传文件 编辑:程序博客网 时间:2024/06/06 12:21
以下程序实现了单链表的基本操作(初始化、头插、尾插、打印、删除)
//单链表的节点结构设计class SLinked<T>{ private T data;//单链表的节点数据域 private SLinked<T> next;//单链表的节点节点域 public SLinked(T data){ this.data = data; this.next = null; } public T getData() { return data; } public void setData(T data) { this.data = data; } public SLinked<T> getNext() { return next; } public void setNext(SLinked<T> next) { this.next = next; }}//单链表的具体实现public class SLinkedList<T> { private SLinked<T> head; public SLinked<T> getHead() { return head; } public void setHead(SLinked<T> head) { this.head = head; } //单链表的初始化 public SLinkedList(T data){ this.head = new SLinked<T>(data); } //单链表的头插法 public void headInsert(T data){ SLinked<T> node = new SLinked<T>(data); node.setNext(head.getNext()); head.setNext(node); } //单链表的尾插法 public void tailInsert(T data){ SLinked<T> node = new SLinked<T>(data); if(head.getNext() == null){ head.setNext(node); }else{ SLinked<T> p = head; while(p.getNext() != null){ p = p.getNext(); } p.setNext(node); } } //单链表的删除 public boolean delete(T data){ SLinked<T> p = head.getNext(); SLinked<T> s = head; while(p != null){ if(p.getData().equals(data)){ s.setNext(p.getNext()); return true; } s = p; p = p.getNext(); } return false; } //单链表的打印 public void show(){ SLinked<T> link = head.getNext(); while(link != null){ System.out.print(link.getData() + " "); link = link.getNext(); } System.out.println(); } //单链表的测试用例 public static void main(String[] args) { SLinkedList<Integer> list = new SLinkedList<Integer>(-1); for(int i = 0; i < 5; i++){ list.headInsert(i); } for(int j = 0; j< 5; j++){ list.tailInsert(j); } list.show(); list.delete(0); list.delete(4); list.delete(4); list.show(); }}
0 0
- 用java实现泛型编程的单链表
- java编程实现单链表的建立
- java串口编程的实现
- java实现socket的编程
- 【Java编程】Java多线程的实现
- java的泛型编程
- 用纯JAVA语言编程读取MAC地址的实现
- 用纯JAVA语言编程读取MAC地址的实现
- 用纯JAVA语言编程读取MAC地址的实现
- 用纯JAVA语言编程读取MAC地址的实现
- 用纯JAVA语言编程读取MAC地址的实现
- 用纯JAVA语言编程读取MAC地址的实现
- 用纯JAVA语言编程读取MAC地址的实现
- 用C++实现类似于JAVA HttpServlet 的编程接口
- 用纯JAVA语言编程读取MAC地址的实现
- 用Java编程实现“猴子与桃子”的问题
- 用 C++ 实现类似于 JAVA HttpServlet 的编程接口
- 用java实现web服务器 - Java编程
- 学习笔记 2017-3-3
- 跳跃表的分析与实现
- Linux下实现简易的shell
- ImageLoader
- HDU 4638(莫队算法)
- 用java实现泛型编程的单链表
- 数独-DFS
- 重新登录,页面嵌套问题的解决办法
- redis
- 从零开始学架构(一):架构师成长路径
- 瞎学笔记之数组,vector,string in C++
- 2.ssh框架及相关概念
- AlgorithmExample1
- timeago.js自动将时间戳