public class MyLinkedList { public LinkedNode first; public LinkedNode last; public int size; public void add(Object obj) { LinkedNode n = new LinkedNode(); if (first == null) { n.setPrevious(null); n.setObj(obj); n.setNext(null); first = n; last = n; } else { n.setPrevious(last); n.setObj(obj); n.setNext(null); last.setNext(n); last = n; } size++; } public int size() { return size; } private void rangeCheck(int index) { if (index >= size) throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); } private String outOfBoundsMsg(int index) { return "Index: " + index + ", Size: " + size; } public Object get(int i) { // 考虑越界 LinkedNode node = getNode(i); if(node!=null){ return node.getObj(); } return null; } public LinkedNode getNode(int i){ rangeCheck(i); LinkedNode temp = null; if (first != null) { temp = first; for (int j = 0; j < i; j++) { temp = temp.getNext(); } } return temp; } public void delete(int i) { if(null!=getNode(i)){ LinkedNode temp = getNode(i); LinkedNode pre = temp.getPrevious(); LinkedNode next = temp.getNext(); pre.setNext(next); next.setPrevious(pre); size--; } } public void add(int i,Object obj) { LinkedNode n = new LinkedNode(); if(first==null && i==0 && size==0){ n.setPrevious(null); n.setObj(obj); n.setNext(null); first = n; last = n; } else{ if(null!=getNode(i)){ LinkedNode temp = getNode(i); LinkedNode pre = temp.getPrevious(); LinkedNode next = temp.getNext(); n.setObj(obj); if(pre==null){ first = temp; n.setPrevious(first); first.setNext(n); } n.setPrevious(pre); pre.setNext(n); if(next==null){//如果找不到最后一个就是最后一个 last = temp; n.setNext(last); last.setPrevious(n); }else{ n.setNext(next); next.setPrevious(n); } } } size++; } public static void main(String[] args) { MyLinkedList list = new MyLinkedList(); list.add("aaa"); list.add("bbb"); list.add("ccc"); list.delete(1); list.add(1, "ddd"); System.out.println(list.get(1)); } }
public class LinkedNode { private LinkedNode previous; private Object obj; private LinkedNode next; public LinkedNode getPrevious() { return previous; } public void setPrevious(LinkedNode previous) { this.previous = previous; } public Object getObj() { return obj; } public void setObj(Object obj) { this.obj = obj; } public LinkedNode getNext() { return next; } public void setNext(LinkedNode next) { this.next = next; } }
相关推荐
文件放服务器下载,请务必到电脑端资源详情查看然后下载
文件太大放服务器下载,请务必到电脑端资源详情查看然后下载
文件放服务器下载,请务必到电脑端资源详情查看然后下载
文件太大放服务器下载,请务必到电脑端资源详情查看然后下载
文件太大放服务器下载,请务必到电脑端资源详情查看然后下载
文件太大放服务器下载,请务必到电脑端资源详情查看然后下载
文件放服务器下载,请务必到电脑端资源详情查看然后下载
文件太大放服务器下载,请务必到电脑端资源详情查看然后下载
文件太大放服务器下载,请务必到电脑端资源详情查看然后下载
文件太大放服务器下载,请务必到电脑端资源详情查看然后下载
文件太大放服务器下载,请务必到电脑端资源详情查看然后下载
文件太大放服务器下载,请务必到电脑端资源详情查看然后下载
文件太大放服务器下载,请务必到电脑端资源详情查看然后下载
文件太大放服务器下载,请务必到电脑端资源详情查看然后下载
java java线程小游戏,大鱼吃小鱼,实现了大体的模式,可以给想做小游戏的朋友一点参考.zip
施工人员检测54-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma数据集合集.rarPPE_KIT 3-V4 2024-07-25 9:31 AM ============================= *与您的团队在计算机视觉项目上合作 *收集和组织图像 *了解和搜索非结构化图像数据 *注释,创建数据集 *导出,训练和部署计算机视觉模型 *使用主动学习随着时间的推移改善数据集 对于最先进的计算机视觉培训笔记本,您可以与此数据集一起使用 该数据集包括17334张图像。 PPE_KIT-3WE9-WQOV-IEQN-OGMT以可可格式注释。 将以下预处理应用于每个图像: *像素数据的自动取向(带有Exif-Arientation剥离) *调整大小为640x640(拉伸) 应用以下扩展来创建每个源图像的3个版本: * -15%至+15%之间的随机BRIGTHNESS调整 * 0到1.1像素之间的随机高斯模糊
文件放服务器下载,请务必到电脑端资源详情查看然后下载
文件太大放服务器下载,请务必到电脑端资源详情查看然后下载
文件放服务器下载,请务必到电脑端资源详情查看然后下载
文件放服务器下载,请务必到电脑端资源详情查看然后下载