package com.data.struct;
public class NodeList {
private Node head;
public NodeList(){
}
public void print(){
Node node=head;
while(node!=null){
System.out.print(node.getData()+" ");
node=node.next;
}
System.out.println();
}
public Node search(int k){
Node x=head;
while(x!=null&&x.data!=k){
x=x.next;
}
return x;
}
public void insert(Node x){
x.next=head;
if(head!=null){
head.prev=x;
}
head=x;
x.prev=null;
}
public void delete(Node x){
if(x.prev!=null){
x.prev.next=x.next;
}else{
head=x.next;
}
if(x.next!=null){
x.next.prev=x.prev;
}
}
public static class Node{
private Node prev;
private Node next;
private int data;
public Node getPrev() {
return prev;
}
public void setPrev(Node prev) {
this.prev = prev;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
}
}
public static void main(String[] args) {
NodeList list=new NodeList();
Node node=new Node();
node.setData(1);
list.insert(node);
Node node2=new Node();
node2.setData(3);
list.insert(node2);
Node node3=new Node();
node3.setData(5);
list.insert(node3);
list.print();
System.out.println(list.search(3).getNext().getData());
list.delete(list.search(3));
list.print();
}
}
数据结构-列表实现
原创
©著作权归作者所有:来自51CTO博客作者云原生总监的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:数据结构-用数组实现队列
下一篇:微软100题-天天做-第37题
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
数据结构之列表-javascript实现
学习数据结构的记录 列表是一种数据项构成的有限序列,即按照一定的线性顺
JavaScript 数据结构 列表 链表 i++ -
Redis列表数据结构
struct listNode { // 前置节点 struct listNode *prev; // 后置节点 st...
Redis 列表 源码 数据结构 redis源码解析 -
数据结构 -- 散列表
散列表作为一种能够提供高效插入,查找,删除 以及遍历的数据结构,被应用
散列表 链表 #include -
Python数据结构之:列表
python数据结构之列表
python数据结构;python列表;