前言
单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。单链表是数据结构中最基本的结构。
目录
一、java 实现的单链表示例
二、程序执行后的效果
1.按输入顺序输入数据入单链表
2.按编号排序输入单链表,并实现增、删、改、查
一、java 实现的单链表示例
/**
* 包名:linkedlist
* 文件名:SingleLinkedListDemo.java
*
* 功能:单链表数据结构的增删改查
*
* 作者:冰雪青松
* 邮箱:946585434@qq.com
* 日期:2022.10.9
*
**/
package linkedlist;
import java.util.*;
/**
* 一、主类,即入口类
*
* 说明:对单链表数据结构的操作,是次要的类
*
**/
public class SingleLinkedListDemo {
public static void main(String[] args) {
SingleLinkedList singleLinkedList = new SingleLinkedList();
//########## [ 对单链表的增删改查的操作 ]######################
//---------------------------------------------------------------------------------------------------------------------------
// 1.遍历二维数组添加数据进单链表 begin
//建立数据的二维数组
String[][] nameArr = {
{"宋江", "卢俊义", "吴用", "林冲", "公孙胜", "关胜", "秦明", "公孙胜", "呼延灼", "花荣"},
{"及时雨", "玉麒麟", "智多星", "豹子头", "入云龙", "大刀", "霹雳火", "入云龙", "双鞭", "小李广"}
};
//编号,排序依据此偏号,可修改编号查看排序情况
int[] noArr = {1, 9, 2, 5, 8, 10, 4, 3, 7, 6};
//true 不排序;false 排序
boolean tag = true;
//遍历二维数组添加节点进链表
if(tag){
//按输入顺序进链表
for(int i = 0; i < nameArr[0].length; i++){
singleLinkedList.add(new HeroNode(noArr[i] , nameArr[0][i], nameArr[1][i]));
}
}else{
//按排序进链表
for(int i = 0; i < nameArr[0].length; i++){
singleLinkedList.addByOrder(new HeroNode(noArr[i], nameArr[0][i], nameArr[1][i]));
}
}
System.out.println("--------------------------------------");
System.out.println("一、单链表添加数据:\n");
//遍历显示
singleLinkedList.list();
System.out.println("--------------------------------------");
// 1.遍历二维数组添加数据进单链表 end.
//--------------------------------------------------