java语言编写链表的基本操作(链表的创建,插入,删除,打印,排序)
来源:互联网 发布:dvd自动播放软件 编辑:程序博客网 时间:2024/05/23 17:42
1.节点的创建
package linkedList;
public classNode {
Node next=null;
intdata;
publicNode(int data){
this.data=data;
}
}
2.添加节点,删除节点,打印节点,求节点的长度,对节点进行排序。
package linkedList;
public classMylinkedList {
publicstatic void main(String[] args) {
MylinkedList mylist = new MylinkedList();
mylist.addData(5);
mylist.addData(3);
mylist.addData(2);
System.out.println("mylist="+ mylist.length());
mylist.printList();
System.out.println();
mylist.deleteNode(2);
System.out.println("mylist="+mylist.length());
mylist.orderList();
mylist.printList();
}
Node head = null; // 链表头的引用
/**
* 向链表中插入数据 param d:插入数据的内容
*/
publicvoid addData(int d) {
Node s = new Node(d);
if (head == null) {
head = s;
return;
}
Node tmp = head;
while (tmp.next != null){
tmp = tmp.next;
}
// 添加节点到结束位置
tmp.next = s;
}
/**
* 返回节点的长度
*/
publicint length() {
int length = 0;
Node tmp = head;
while (tmp != null){
length++;
tmp = tmp.next;
}
return length;
}
/**
* 删除第index个节点return成功返回true,失败返回false
*/
publicboolean deleteNode(int index) {
// 删除元素的位置不合理
if (index < 1 || index > length()) {
return false;
}
// 删除链表第一个元素
if (index == 1) {
head = head.next;
return true;
}
int i = 2;
Node preNode = head;
Node curNode = preNode.next;
while (curNode != null){
if (i == index) {
preNode.next =curNode.next;
return true;
}
preNode = curNode;
curNode= curNode.next;
i++;
}
return true;
}
/**
* 打印链表
*/
publicvoid printList() {
Node tmp = head;
while (tmp != null){
System.out.print(tmp.data);
tmp = tmp.next;
}
}
/**
* 对链表进行排序
*/
publicNode orderList() {
Node curNode = head;
Node nextNode = null;
int tmp = 0;
while (curNode != null){
nextNode = curNode.next;
while (nextNode != null){
if (curNode.data > nextNode.data) {
tmp = curNode.data;
curNode.data =nextNode.data;
nextNode.data = tmp;
}
nextNode = nextNode.next;
}
curNode = curNode.next;
}
return head;
}
}
- java语言编写链表的基本操作(链表的创建,插入,删除,打印,排序)
- c++之链表篇1:单向链表的创建,打印,删除,插入,销毁等基本操作
- 链表的基本操作,创建、删除、插入、反转
- c语言链表的创建、插入、删除、排序
- C语言实现单链表(带头结点)的基本操作(创建,头插法,尾插法,删除结点,打印链表)
- C语言实现单链表(带头结点)的基本操作(创建,头插法,尾插法,删除结点,打印链表)
- 线性表的链式存储格式基本操作:创建链表、插入、删除、查找、求表长、打印链表
- 用C语言编写一个包含链表的初始化、插入、删除、查找等基本操作的程序。
- 链表基本操作(建立、修改,插入、删除、打印)
- 带头结点单链表的基本操作(创建、测长、打印、插入、删除、取值、合并、排序、逆置)
- 链表的创建、插入、删除操作
- 链表的创建、插入、删除操作
- 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
- 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
- 数据结构:链表的基本操作(创建,删除,插入,逆序,摧毁)
- 链表的基本操作(插入,删除,排序、逆置等)
- 链表的基本操作,建立,测长,删除,打印,插入
- C语言各种链表操作(创建、打印、删除、插入、反转)
- 表示数值的字符串
- Struts2 流程详解
- C++异常处理
- 数组
- 动画(Animation)来回变换
- java语言编写链表的基本操作(链表的创建,插入,删除,打印,排序)
- jedis选择redis的某个数据库
- 双大于运算法则
- 第二十七节JSP
- 快速排序的过程java
- 堆栈操作合法性
- 字符流中第一个不重复的字符
- 安装Linux 操作系统
- Spring框架学习之一(组件的使用)