java单向链表的实现实例
package ncu.com.app.chatpter_5;
import java.util.Random;
//结点类
class Node {
Object data;
Node next;
}
//操作类
class ListNode{
public Node first;
public int size;
public ListNode(){
first = null;
size = 0;
}
public void insertNode(Object node){
Node no = new Node();
no.data = node;
no.next = first;
first = no;
size++;
}
public void disPlay(){
if(size==0){
System.out.println("链表为空");
}
Node currnode = first;
while(currnode!=null){
System.out.print(currnode.data+",");
currnode = currnode.next;
}
System.out.println("");
}
//删除i个结点
public void delect(int i){
if(i<=size){
for(int m=0;m<i;m++){
first = first.next;
size--;
disPlay();
}
}
}
//清空链表
public void delectAll(){
size = 0;
first = null;
disPlay();
}
//获得从i-j中链表的数据
public void getNode(int i,int j){
for(int m=0;m<i-1;m++){
first = first.next;
}
Node currnode = first;
for(int m=0;m<j-i+1;m++){
System.out.print(currnode.data+",");
currnode = currnode.next;
}
}
}
public class NodeTree {
public static void main(String args[]){
ListNode listnode = new ListNode();
for(int i = 0;i<10;i++){
int k = new Random().nextInt(10);
listnode.insertNode(k);
System.out.print(k+",");
}
System.out.println("");
listnode.disPlay();
//listnode.delect(10);
//listnode.delectAll();
listnode.getNode(2,8);
}
}
相关推荐
-
JAVA 数据结构链表操作循环链表
JAVA 链表操作:循环链表 主要分析示例: 一.单链表循环链表 二.双链表循环链表 其中单链表节点和双链表节点类和接口ICommOperate<T>与上篇一致,这里不在赘述.参考:JAVA链表操作:单链表和双链表http://www.jb51.net/article/95113.htm 一.单链表循环链表 package LinkListTest; import java.util.HashMap; import java.util.Map; public class SingleCycle
-
Java单链表基本操作的实现
最近被问到链表,是一个朋友和我讨论Java的时候说的.说实话,我学习编程的近一年时间里,学到的东西还是挺少的.语言是学了Java和C#,关于Web的学了一点Html+css+javascript.因为比较偏好,学习WinForm时比较认真,数据库操作也自己有所研究.但链表这个东西我还真没有学习和研究过,加上最近自己在看WPF,而课程也到了JSP了,比较紧. 但是我还是抽了一个晚上加半天的时间看了一下单向链表.并且使用Java试着写了一个实例出来.没有接触过链表的朋友可以作为参考,希望大家多提宝贵
-
JAVA实现链表面试题
这份笔记整理了整整一个星期,每一行代码都是自己默写完成,并测试运行成功,同时也回顾了一下<剑指offer>这本书中和链表有关的讲解,希望对笔试和面试有所帮助. 本文包含链表的以下内容: 1.单链表的创建和遍历 2.求单链表中节点的个数 3.查找单链表中的倒数第k个结点(剑指offer,题15) 4.查找单链表中的中间结点 5.合并两个有序的单链表,合并之后的链表依然有序[出现频率高](剑指offer,题17) 6.单链表的反转[出现频率最高](剑指offer,题16) 7.从尾到头打印单链表(
-
java双向循环链表的实现代码
例1: 复制代码 代码如下: package com.xlst.util; import java.util.HashMap;import java.util.Map;import java.util.UUID; /*** 双向循环链表* 完成时间:2012.9.28* 版本1.0* @author xlst**/public class BothwayLoopLinked {/*** 存放链表长度的 map* * 如果简单使用 static int 型的 size 基本类型变量,则只能维护一个
-
用C和JAVA分别创建链表的实例
创建链表.往链表中插入数据.删除数据等操作,以单链表为例.1.使用C语言创建一个链表: 复制代码 代码如下: typedef struct nd{ int data; struct nd* next; } node;//初始化得到一个链表头节点node* init(void){ node* head=(node*)malloc(sizeof(node)); if(head==NULL) return NULL; head->next=NULL; return head;}//在链表尾部插入数据v
-
java实现数据结构单链表示例(java单链表)
复制代码 代码如下: /** * 单向链表 * */public class NodeList<E> { private static class Node<E> { // 节点类 E data; // 节点上的数据 Node<E> next; // 指向下一个节点 Node(E e) { this.data = e; this.next = null; } } private Node<E> head; // 链表的头节点 private N
-
java数据结构之实现双向链表的示例
复制代码 代码如下: /** * 双向链表的实现 * @author Skip * @version 1.0 */public class DoubleNodeList<T> { //节点类 private static class Node<T>{ Node<T> perv; //前节点 Node<T> next; //后节点 T data; //数据 public Node(T t){ this.data = t; } } priv
-
java使用数组和链表实现队列示例
(1)用数组实现的队列: 复制代码 代码如下: //先自己定义一个接口 public interface NetJavaList { public void add(Student t); //继承该接口的类必须实现的方法 public Student get(int index);//队列的加入,取出,队列的大小 public int size(); } 定义一个学生类 复制代码 代码如下: class Student { private String na
-
Java 数据结构链表操作实现代码
链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种:单链表.循环链表.双向链表,下面将逐一介绍.链表在数据结构中是基础,也是重要的知识点,这里讲下Java 中链表的实现, JAVA 链表操作:单链表和双链表 主要讲述几点: 一.链表的简介 二.链表实现原理和必要性 三.单链表示例 四.双链表示例 一.链表的简介 链表是一种比较常用的数据结构,链表虽然保存比较复杂,但是在查询时候比较便捷,在多种计算机语言都相应的应用,链表有多种类别,文章针对单链表和双链表进行分析.链表中数据就像被一个链
-
java单向链表的实现实例
上代码喽~ 复制代码 代码如下: package ncu.com.app.chatpter_5; import java.util.Random; //结点类class Node { Object data; Node next; }//操作类class ListNode{ public Node first; public int size; public ListNode(){ first = null; size = 0; } public void insertNode(Obje
-
Java实现单向链表反转
本文实例为大家分享了Java实现单向链表反转的具体代码,供大家参考,具体内容如下 1.实现代码 public class LinkedListTest { public static void main(String[] args) { Node A = new Node("A"); Node B = new Node("B"); Node C = new Node("C"); Node D = new Node("D");
-
Java实现单向链表的基本功能详解
一.前言 最近在回顾数据结构与算法,有部分的算法题用到了栈的思想,说起栈又不得不说链表了.数组和链表都是线性存储结构的基础,栈和队列都是线性存储结构的应用- 本文主要讲解单链表的基础知识点,做一个简单的入门-如果有错的地方请指正 二.回顾与知新 说起链表,我们先提一下数组吧,跟数组比较一下就很理解链表这种存储结构了. 2.1回顾数组 数组我们无论是C.Java都会学过: 数组是一种连续存储线性结构,元素类型相同,大小相等 数组的优点: 存取速度快 数组的缺点: 事先必须知道数组的长度 插入删除元
-
Java 数据结构与算法系列精讲之单向链表
目录 概述 链表 单向链表 单向链表实现 Node类 add方法 remove方法 get方法 set方法 contain方法 main 完整代码 概述 从今天开始, 小白我将带大家开启 Jave 数据结构 & 算法的新篇章. 链表 链表 (Linked List) 是一种递归的动态数据结构. 链表以线性表的形式, 在每一个节点存放下一个节点的指针. 链表解决了数组需要先知道数据大小的缺点, 增加了节点的指针域, 空间开销较大. 链表包括三类: 单向链表 双向链表 循环链表 单向链表 单向链表
-
python数据结构链表之单向链表(实例讲解)
单向链表 单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域.这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值. 表元素域elem用来存放具体的数据. 链接域next用来存放下一个节点的位置(python中的标识) 变量p指向链表的头节点(首节点)的位置,从p出发能找到表中的任意节点. 节点实现 class Node(object): """单链表的结点""" def __i
-
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
本文实例讲述了python判断单向链表是否包括环,若包含则计算环入口的节点.分享给大家供大家参考,具体如下: 关于数据结构相关的面试题,经常会问到链表中是否存在环结构的判断,下图就是存在环结构的链表. 那么如何判断链表中是否存在环呢,下面解法的思路是采用快慢指针: 两个指向头节点的指针,fast和slow,一起从头结点开始往后遍历,fast每次移动两个节点,slow每次移动一个节点, 这样,如果存在环结构,那么fast指针在不断绕环过程中,肯定会追上slow指针. # -*- coding:ut
-
Python单向链表和双向链表原理与用法实例详解
本文实例讲述了Python单向链表和双向链表原理与用法.分享给大家供大家参考,具体如下: 链表是一种数据结构,链表在循环遍历的时候效率不高,但是在插入和删除时优势比较大. 链表由一个个节点组成. 单向链表的节点分为两个部分:存储的对象和对下一个节点的引用.注意是指向下一个节点. 而双向链表区别于单向链表的是它是由三个部分组成:存储的对象.对下一个节点的引用.对上一个节点的引用,可以实现双向遍历. 单向列表的结构如下图: head是头节点,tail是尾节点,每个节点由Data存储对象和Next对下
-
Java 深入分析链表面试实例题目
目录 链表面试题一 问题描述: 问题分析: 问题讲解: 代码实现: 链表面试题二 问题描述: 问题分析: 问题讲解: 代码实现: 链表面试题一 判断链表是否是回文结构. 问题描述: 兄弟们,看图理解什么是链表的回文结构: 回文结构:正着读12 -> 23 ->34,倒着读12->23->34 奇数偶数都可以: 问题分析: 要判断是不是回文结构,那么我们就要遍历链表,一个从前往后走,一个从后往前走,对应的val值要相同,那么我们就必须修改链表的指向,这里就要用到快慢指针帮我们找到中间
-
java使用单向链表解决数据存储自定义排序问题
目录 表设计 1. 新增一条记录 2. 修改排序 3. 删除 代码实现 1. 简单对象 2. 对数据按照 nextId 排序 3. 输出结果 表设计 CREATE TABLE `test` ( `id` bigint NOT NULL COMMENT '主键id', `name` varchar(50) COLLATE NOT NULL COMMENT '名称', `next_id` bigint DEFAULT NULL COMMENT '指向下一个节点的主键id', ) ; 1. 新增一条记
-
C语言之单向链表详解及实例代码
1,单向链简洁. 单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始:链表是使用指针进行构造的列表:又称为结点列表,因为链表是由一个个结点组装起来的:其中每个结点都有指针成员变量指列表中的下一个结点:列表是由结点构成,由head指针指向第一个成为表头的结点而终止于最后一个指向nuLL的指针: 2,例子要求: 根据示例代码中的例子,完成单向链表(single linked list)中的以字符串为数据的链表的插入.删除以及查找,并支持单向链表的反转
随机推荐
- js+css实现有立体感的按钮式文字竖排菜单效果
- ajax实现无刷新省市县三级联动
- 每天一篇javascript学习小结(Date对象)
- JavaScript中localStorage对象存储方式实例分析
- java servlet 几种页面跳转的方法
- php字符串分割函数explode的实例代码
- .net c# gif动画如何添加图片水印实现思路及代码
- 初学者必看的Ajax总结篇
- jQuery基于cookie实现的购物车实例分析
- js几个不错的函数 $$()
- Java List简介_动力节点Java学院整理
- 又一个小巧的图片预加载类
- Android中RecyclerView实现多级折叠列表效果(二)
- TensorFlow实现RNN循环神经网络
- 教你如何修改Linux远程登录欢迎提示信息
- Docker实践之搭建wordpress的方法
- Python自动生成代码 使用tkinter图形化操作并生成代码框架
- vue中的mescroll搜索运用及各种填坑处理
- Android 拍照选择图片并上传功能的实现思路(包含权限动态获取)
- IntelliJ IDEA2020新增禅模式和LightEdit模式