java单链表 插入 删除 查找 链表反转
2015-05-24 00:00
204 查看
摘要: java单链表 插入 删除 查找 链表反转
/**
* Created by jinzhao .w on 2015/4/9.
*/
public class Link {
public int data;
public Link next;
public Link(int data) {
this.data = data;
}
@Override
public String toString() {
return "Link{" +
"data=" + data +
'}';
}
}
--------------------------------------------------------------------
/**
* Created by jinzhao.w on 2015/4/9.
*/
public class LinkList {
private static Link first;
public LinkList() {
this.first = null;
}
public LinkList(Link first) {
this.first = first;
}
public boolean isEmpty() {
return (first == null);
}
public void insertFirst(int id) {
Link newLink = new Link(id);
newLink.next = first;
first = newLink;
}
public Link deleteFirst() {
Link temp = first;
first = first.next;
return temp;
}
public Link getFirst(){
return first;
}
public void displayList(Link current) {
if(current==null)
current = first;
while (current != null) {
System.out.println(current.toString());
current = current.next;
}
}
public Link find(int key) {
Link current = first;
while (current.data != key) {
if (current.next == null) {
return null;
} else {
current = current.next;
}
}
return current;
}
public Link delete(int key) {
Link current = first;
Link previous = first;
while (current.data != key) {
if (current.next == null) {
return null;
} else {
previous = current;
current = current.next;
}
}
if (current == first) {
current = current.next;
} else {
previous.next = current.next;
}
return current;
}
public static void reverseLinkList(Link first) {
Link current = first;
Link next=null;
Link prev=null;
while (current!=null){
next=current.next;
current.next=prev;
prev=current;
current=next;
}
LinkList.first=prev;
}
}
---------------------------------------------------------------------
/**
* Created by jinzhao.w on 2015/4/9.
*/
public class LinkListTest {
public static void main(String[] args) {
LinkList linkList = new LinkList();
linkList.insertFirst(1);
linkList.insertFirst(2);
linkList.insertFirst(3);
linkList.insertFirst(4);
linkList.insertFirst(5);
// linkList.displayList();
// Link findLink = linkList.find(4);
// findLink.toString();
// linkList.delete(4);
LinkList.reverseLinkList(linkList.getFirst());
linkList.displayList(linkList.getFirst());
}
}
/**
* Created by jinzhao .w on 2015/4/9.
*/
public class Link {
public int data;
public Link next;
public Link(int data) {
this.data = data;
}
@Override
public String toString() {
return "Link{" +
"data=" + data +
'}';
}
}
--------------------------------------------------------------------
/**
* Created by jinzhao.w on 2015/4/9.
*/
public class LinkList {
private static Link first;
public LinkList() {
this.first = null;
}
public LinkList(Link first) {
this.first = first;
}
public boolean isEmpty() {
return (first == null);
}
public void insertFirst(int id) {
Link newLink = new Link(id);
newLink.next = first;
first = newLink;
}
public Link deleteFirst() {
Link temp = first;
first = first.next;
return temp;
}
public Link getFirst(){
return first;
}
public void displayList(Link current) {
if(current==null)
current = first;
while (current != null) {
System.out.println(current.toString());
current = current.next;
}
}
public Link find(int key) {
Link current = first;
while (current.data != key) {
if (current.next == null) {
return null;
} else {
current = current.next;
}
}
return current;
}
public Link delete(int key) {
Link current = first;
Link previous = first;
while (current.data != key) {
if (current.next == null) {
return null;
} else {
previous = current;
current = current.next;
}
}
if (current == first) {
current = current.next;
} else {
previous.next = current.next;
}
return current;
}
public static void reverseLinkList(Link first) {
Link current = first;
Link next=null;
Link prev=null;
while (current!=null){
next=current.next;
current.next=prev;
prev=current;
current=next;
}
LinkList.first=prev;
}
}
---------------------------------------------------------------------
/**
* Created by jinzhao.w on 2015/4/9.
*/
public class LinkListTest {
public static void main(String[] args) {
LinkList linkList = new LinkList();
linkList.insertFirst(1);
linkList.insertFirst(2);
linkList.insertFirst(3);
linkList.insertFirst(4);
linkList.insertFirst(5);
// linkList.displayList();
// Link findLink = linkList.find(4);
// findLink.toString();
// linkList.delete(4);
LinkList.reverseLinkList(linkList.getFirst());
linkList.displayList(linkList.getFirst());
}
}
相关文章推荐
- java实现单链表的初始化,创建,删除,插入,查找,排序,同项删除,退出等功能
- 树——平衡二叉树插入和查找的JAVA实现(2):增加删除方法
- java语言实现简单单链表链式储存结构。插入删除等操作。(有个地方看不出错误来,已经标注,望指正)
- Java实现二叉查找树的创建、查找、插入、删除、遍历
- java实现数据结构-线性表-顺序表,实现插入,查找,删除,合并功能
- 单链表的创建、插入、删除、查找
- 二叉搜索树Java实现(查找、插入、删除、遍历)
- 单链表-创建、插入、删除、查找、反转等操作
- 单链表的查找、插入和删除运算的实现过程
- java 模拟数组(Array)的查找、插入、删除、遍历
- java实现单链表,功能有插入,删除,遍历。
- 26个字母单链表,实现插入,删除,查找操作
- 单链表的创建、遍历、插入、删除、查找、逆转
- 二叉查找树--查找、删除、插入(Java实现)
- 二叉搜索树Java实现(查找、插入、删除、遍历)
- 单链表的创建,表长,插入,查找,逆置,中间元素,删除节点,打印
- java专题——二叉树(插入、查找、删除)
- 二叉搜索树的实现(包含插入、查找、遍历、删除等)【Java版】
- C++单链表的动态创建,查找,遍历,删除,插入,添加,排序
- 数据结构学习(三)——单链表的操作之查找、删除、插入。