代码如下:

public interface ListInterface<T> {public T getElem(int i);public boolean insertElem(int i,T t);public T deleteElem(int i);}
public class Node<T> {public T data;public Node<T> next;public T getData(){return data;}public void setData(T data){this.data = data;}public Node<T> getNext(){return next;}public void setNext(Node<T> next){this.next = next;}}
import java.io.*;
import java.util.*;public class Linklist<T> implements ListInterface<T> {public Node<T> head;public int length;public Linklist(T[] at){//头插法建立单链表。T t;this.length = 11;Node<T> p;head = new Node<T>();//head.next = null;//Scanner scanner = new Scanner(System.in);//T s = scanner.nextLine();int i=0;while(i<at.length){t = at[i];p = new Node<T>();p.data = t;p.next = head.next;head.next = p;//头插法!i++;}}public Linklist(Node<T> head){this.head = head;}public T getElem(int i){int j = 0;Node<T> n = head;while(n != null){if(j == i){return n.getData();}n = n.getNext();j++;}return null;}public boolean insertElem(int i,T t){if(i<0 || i>length){System.out.println("插入位置不合法!");return false;}else{if(head==null && i==1){head = new Node<T>();head.setData(t);length++;return true;}else if(head!=null && i==1){Node<T> tempNode = new Node<T>();tempNode.setData(t);tempNode.setNext(head);head = tempNode;length++;return true;}else{Node<T> n = this.head;int j = 1;while(n!=null && j<i-1){n = n.getNext();j++;}Node<T> tempNode = new Node<T>();tempNode.setData(t);tempNode.setNext(n.getNext());n.setNext(tempNode);length++;}return true;}}public T deleteElem(int i){if(head==null || i<1 || i>length){System.out.println("删除位置不合法!");return null;}T old;if(head!=null && i==1){old = head.getData();head = head.getNext();}else{Node<T> n = this.head;int j = 1;while(n!=null && j<i-1){n = n.getNext();j++;}old = n.getNext().getData();n.setNext(n.getNext().getNext());}length--;return old;}public Node<T> getHead(){return this.head;}public int getLength(){return this.length;}public void setHead(Node<T> head){this.head = head;}public void setLength(int length){this.length = length;}public void display(){Node<T> p;int i = 0;p = head.next;while(p!=null){System.out.print(p.data + " ");p = p.next;}}
}
import java.util.*;
import java.io.*;public class LinkedlistTest {public static void main(String[] args) {// TODO 自动生成的方法存根Integer[] arr = new Integer[10];Scanner scan = new Scanner(System.in);for(int i=0; i<10; i++){arr[i] = scan.nextInt();} Linklist<Integer> list = new Linklist<Integer>(arr);list.display();System.out.println();System.out.println(list.getElem(5));System.out.println(list.insertElem(5, 78));list.display();System.out.println();System.out.println("要删除的元素是:"+list.deleteElem(5));list.display();}}

链表的实现(Java语言描述)相关推荐

  1. 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)

    题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...

  2. 杀人游戏约瑟夫环(洛谷P1145题题解,Java语言描述)

    题目要求 题目链接P1145 约瑟夫环问题了解一下 约瑟夫环问题其实在数据结构里与单循环链表关系密切,但是这里模拟就完事~~ 我写过的约瑟夫环问题 AC代码(Java语言描述) import java ...

  3. HashMap暴力枚举(洛谷P1765题题解,Java语言描述)

    前言 本题水题一个,但是这里会结合着提一些HashMap的内容~~但不是什么深度分析,没营养的... 题目要求 P1765题目链接 分析 这题懒得去排着弄,突然就觉得不如打个表,这样还是很简洁滴~~ ...

  4. 数据结构java实验 刘小晶_《数据结构实例解析与实验指导——Java语言描述》刘小晶著【摘要 书评 在线阅读】-苏宁易购图书...

    商品参数 作者: 刘小晶著 出版社:清华大学出版社 出版时间:2013-2-1 版次:1 印次:1 印刷时间:2013-2-1 字数:619000 页数:380 开本:16开 装帧:平装 ISBN:9 ...

  5. s数据结构替换子表java版_数据结构与算法分析Java语言描述(第3版) PDF和源码免费 下载...

    <数据结构与算法分析Java语言描述(第3版)>PDF和源码免费 下载 免积分下载 用户下载说明: 图书简介: 数据结构:Java语言描述(原书第3版)是国外数据结构与算法分析方面的经典教 ...

  6. 算法java语言描述_java语言描述数据结构与算法崔笑颜的博客

    java语言描述数据结构与算法崔笑颜的博客 冒泡排序 插入排序 选择排序 希尔排序 快速排序 归并排序 二分查找package com.demo.test; import java.util.Arra ...

  7. 《数据结构与抽象:Java语言描述(原书第4版)》一JI2.3 抛出异常

    本节书摘来华章计算机<数据结构与抽象:Java语言描述(原书第4版)>一书中的第2章 ,[美]弗兰克M.卡拉诺(Frank M. Carrano) 蒂莫西M.亨利(Timothy M. H ...

  8. 《数据结构与抽象:Java语言描述(原书第4版)》一2.2.1 可变大小数组

    本节书摘来华章计算机<数据结构与抽象:Java语言描述(原书第4版)>一书中的第2章 ,第2.2.1节,[美]弗兰克M.卡拉诺(Frank M. Carrano) 蒂莫西M.亨利(Timo ...

  9. 《数据结构与抽象:Java语言描述(原书第4版)》一2.1.4 让实现安全

    本节书摘来华章计算机<数据结构与抽象:Java语言描述(原书第4版)>一书中的第2章 ,第2.1节,[美]弗兰克M.卡拉诺(Frank M. Carrano) 蒂莫西M.亨利(Timoth ...

  10. 《数据结构与抽象:Java语言描述(原书第4版)》一P.3.2 实现一个接口

    本节书摘来华章计算机<数据结构与抽象:Java语言描述(原书第4版)>一书中的第1章 ,第1节,[美]弗兰克M.卡拉诺(Frank M. Carrano) 蒂莫西M.亨利(Timothy ...

最新文章

  1. Maya与Substance Painter风格化材质阴影和照明学习教程
  2. Python特殊语法:filter、map、reduce、lambda
  3. 【斗医】【3】Web应用开发20天
  4. @property (nonatomic,retain)中的nonatom和retain是什么意思
  5. 如何选择InstallShield工程类型
  6. 【自学笔记】三维copula的构建与分布函数的求解
  7. JAVA柱形图动态显示,动态控制柱形图显示柱数
  8. Web服务器Nginx
  9. 什么是二维码?为什么需要一个二维码?
  10. AVG提醒:网银大盗疯狂肆虐阿里旺旺
  11. 加菲猫语录精选74 中英俄三语版
  12. 判断一个数是否为整数、正整数、小数通用算法
  13. Java web Servlet弹出提示框方法
  14. 2021-12-06 迈向程序猿的第四十三步
  15. Leaflet包:从入门到跑路(一)
  16. 3GQQ幻想西游升级最快的方法(集)
  17. 那些 Cynthia 教我的事 之 PMSec (三)
  18. updater-script
  19. Latex排版常用数学符号表示方法
  20. 易语言系列————————窗口_枚举所有子窗口(精易模块)

热门文章

  1. IT人母亲的美国之行(3)
  2. matlab 连续相同数据库,MATLAB向量:防止来自相同范围的连续值
  3. linux内存管理之DMA
  4. 用户空间缺页异常pte_handle_fault()分析--(上)
  5. 如何实现一个文件系统
  6. devops什么意思_devops是什么意思
  7. vector 详解(C++)
  8. 题目244-16进制的简单运算
  9. vue项目打包部署到Tomcat上,一刷新就报错404
  10. 数据结构 周末舞会(循环队列解法)