- 首页 > it技术 > >
package 链表上;
import java.util.Stack;
/**
* 初始化链表节点
* @author buder_cp
*
* @param
*/
class ListNode {
public T value;
public ListNode next;
public ListNode(){}
public ListNode(T value, ListNode next) {
super();
this.value = https://www.it610.com/article/value;
this.next = next;
}
public ListNode pre;
}public class MiniList {
private ListNode head = new ListNode(null, null);
/**
* 数组转化成链表
*/
public void arrayToList(T[] array) {
ListNode p = head;
for (T t : array) {
ListNode node = new ListNode(t, null);
p.next = node;
p = node;
}
} /**
* 打印链表
*/
public void printList() {
ListNode p = head.next;
while (p != null) {
System.out.print(p.value + " ");
p = p.next;
}
System.out.println();
} /**
* 插入
*/
public void insert(int index, T value) {
ListNode p = head;
for (int i = 0;
i < index;
i++) {
p = p.next;
}
ListNode node = new ListNode<>(value, null);
node.next = p.next;
p.next = node;
} /**
* 删除
*
* @param args
*/
public T remove(int index) {
ListNode pre = head;
for (int i = 0;
i < index;
i++) {
pre = pre.next;
}
ListNode p = pre.next;
pre.next = p.next;
return p.value;
} /**
* 查询
*
* @param args
*/
public T get(int index) {
ListNode p = head;
for (int i = 0;
i < index;
i++) {
p = p.next;
}
return p.value;
} /**
* 修改
*
* @param args
*/
public void set(int index, T value) {
ListNode p = head;
for (int i = 0;
i <= index;
i++) {
p = p.next;
}
p.value = https://www.it610.com/article/value;
} private void recursive(ListNode p) {
// TODO Auto-generated method stub
if (p != null) {
recursive(p.next);
System.out.println(p.value + " ");
}
} public static void main(String[] args) {
MiniList list = new MiniList<>();
Integer[] array = { 1, 2, 3, 4, 5, 6 };
list.arrayToList(array);
System.out.print("original: ");
list.printList();
System.out.print("insert: ");
list.insert(1, 233333);
list.printList();
System.out.print("delete: ");
list.remove(1);
list.printList();
System.out.print("search: ");
System.out.println(list.get(2));
System.out.print("reset: ");
list.set(2, 66666);
list.printList();
}
}
推荐阅读