单向链表
来源:互联网 发布:杭州龙席网络销售什么 编辑:程序博客网 时间:2024/06/04 18:54
1.准备数据
class Data// 数据元素类{// ...}
class Node// 链表节点类{Data data = new Data();Node next;}
2.插入尾节点
Node addEnd(Node head, Data data) {Node node, temp;if ((node = new Node()) == null) {System.out.println("申请内存失败!");return null;}node.data = data;node.next = null;if (head == null) {head = node;return head;}temp = head;while (temp.next != null) {temp = temp.next;}temp.next = node;return head;}
3.插入头结点
Node addFirst(Node head, Data data) {Node node;if ((node = new Node()) == null) {System.out.println("申请内存失败!");return null;}node.data = data;node.next = head;head = node;return head;}
4.查找节点
Node findNode(Node head, Data data) {Node temp;temp = head;while (temp != null) {if (temp.data.compareTo(data)) {return temp;}temp = temp.next;}return null;}
5.插入节点
Node insertNode(Node head, Data findData, Data data) {Node node, temp;if ((node = new Node()) == null) {System.out.println("申请内存失败!");return null;}node.data = data;temp = head;while (temp != null) {if (temp.data.compareTo(findData)) {break;}temp = temp.next;}if (temp != null) {node.next = temp.next;temp.next = node;} else {System.out.println("未找到正确的插入位置!");}return head;}
6.删除节点
Node deleteNode(Node head, Data data) {if (head == null) {return null;}if (head.data.compareTo(data)) {head = head.next;return head;}Node node, temp;node = head;temp = head.next;while (temp != null) {if (temp.data.compareTo(data)) {node.next = temp.next;temp = null;} else {node = temp;temp = temp.next;}}return head;}
7.计算链表长度
int listLength(Node head) {Node temp;int len = 0;temp = head;while (temp != null) {len++;temp = temp.next;}return len;}
8.显示所有节点
void printAllNode(Node head){ Node temp; Data data; temp=head; while (temp!=null) { data=temp.data; System.out.println(...); temp=temp.next; } }
0 0
- 单向链表
- 单向链表倒序
- 单向链表
- 单向链表逆转
- 逆转单向链表
- 单向链表反转
- 单向链表
- 单向链表(ZT)
- 反转单向链表
- 单向链表反转
- 单向链表
- 创建单向链表
- 单向链表反转
- 单向链表
- 单向链表
- 单向链表
- 单向链表
- C++ 单向链表
- Mysql主从复制步骤
- 【jquery+input标签】实现回车搜索
- C# readonly和const的区别
- iOS基础面试题(四)
- FatMouse's Speed(HDU-1160)
- 单向链表
- bzoj 1758: [Wc2010]重建计划
- NFS安装与使用
- DEV控件的Gridview小技巧总结
- 解决tableView cellForRowAtIndex 返回nil 的问题
- iOS面试 block
- HighCharts资料(二)
- angular学习之路---scope作用域
- 站内结构优化