宣传部网站建设策划书做pc端网站什么开头

web/2025/10/5 5:40:35/文章来源:
宣传部网站建设策划书,做pc端网站什么开头,常德网,公司让我做网站负责人链表结构 说到链表结构就不得不提起数据结构#xff0c;什么是数据结构#xff1f;就是用来组织和存储数据的某种结构。那么到底是某种结构呢#xff1f; 数据结构分为#xff1a; 线性结构 数组#xff0c;链表#xff0c;栈#xff0c;队列 树形结构 二叉树#x…链表结构 说到链表结构就不得不提起数据结构什么是数据结构就是用来组织和存储数据的某种结构。那么到底是某种结构呢 数据结构分为 线性结构 数组链表栈队列 树形结构 二叉树B树红黑树等 图形结构 邻接矩阵邻接表等 那么链表就是我们这节课的主角之前其实我们都接触过链表就是集合中基于List实现的linkedlist但是在练习的过程中我发现好多同志只会用不知道其中原理知其然而不知其所以然。但是也会有同志说了我会用不就不就醒了各位凡是要做到精益求精知其然跟要知其所以然。为实现科技报国我们的祖国就需要这种人才一起创新创建共创科技大国。 链表结构的定义 什么是链表 在逻辑结构上一个挨一个的数据但是在实际存储时所在的内存地址却并不连续相反数据随机分布在内存中的各个位置。 通过数据的指针指向下一个数据这种存储结构称为链式存储而这种链式存储所生成的表就是链表 链表分类 单向链表双向链表双向循环链表 单向链表 什么是单向链表 上面说到了什么是链表那么在单向链表中我们将数据分为两个区域 在链表中它有一个专业名字叫做节点 一个节点指向下一个节点这种链式结构称为单向链表 在单向链表中链表的第一个节点称为首元节点 链表的最后一个节点称为尾节点 中间的这个节点的前一个节点称为前驱 ![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h7w71tre-1690775932881)(E:\Java笔记\数据结构\线形结构\链表结构.assets\image-20230731100016010.png)](https://img-blog.csdnimg.cn/a07cd1f5d2d74d5f9dfe5dde41da8c4b.png) 中间的这个节点的后一个节点称为后继 通常在链表的前面会有一个节点称为头节点当然头节点不是必须存在的。 头节点的作用是用来存储链表的长度 在每一个链表中都会配备一个头指针指针始终指向第一个节点如果有链表中配备头节点则指向头节点如果没有配备头节点则指向首元节点 头指针的定义是用于在链表中挪动指针查找数据直到找到对应的数据 单向链表的功能 增 向链表的尾节点添加节点 将新添加节点的内存地址存放到该链表尾节点的指针域中。通俗的讲将尾节点的指针域指向新添加的节点 此时尾节点就是新添加的这个节点 向链表的首元节点之前添加节点 将链表的首元节点的内存地址存放到新添加节点的指针域中。通俗的讲新节点的指针指向首元节点 此时首元节点是新添加的这个节点 向链表中间添加节点 将新添加节点的内存地址存放到前驱的指针域中新添加节点的指针域存放后继的内存地址。通俗的讲修改前驱的指针方向指向新添加的节点新添加的节点执行后继即可 删 删除尾节点 尾节点的前驱的指针域不在存储尾节点的内存地址。通俗的讲尾节点的指针域不在指向尾节点 删除首元节点 首元节点的指针域不存放后继的内存地址。通俗的讲首元节点的指针与不在指向后继节点 删除中间的某个节点 删除节点的前驱指针域不再存放删除节点的内存地址删除节点的指针域不再存储后继的内存地址通俗的讲删除节点的前驱指向删除节点的后继 注意被删除的节点称之为野节点这并不是真正意义上的删除它在内存中依旧存在。那么野节点的最终归宿是被JVM的GC垃圾回收器所回收也就是释放该节点的内存空间这才是真正意义上的删除 额外知识java中的垃圾回收器Garbage CollectorGC负责管理内存的分配和释放。当一个对象没有任何引用指向它时它就变得不可达而垃圾回收器会将其标记为垃圾对象并在适当的时候回收该对象所占用的内存空间。这个过程称为垃圾回收。 改 挪动指针找到要修改的节点之后讲修改节点的数据域中的数据修改掉 查 挪动指针找到要所要查找的数据。 特点 节点在存储器中的位置是任意的即逻辑上相邻的数据元素在物理上不一定相邻。 数据元素的个数可以自由扩充插入删除只需要修改节点的指针方向效率高 修改和查找节点数据需要挪动指针按照节点的顺序进行依次查找或者修改效率比较低 与数组的区别 回顾数组 数组的功能 增 数据不能超过定义的数组长度数据少于定义数组的长度会造成内存浪费数组中间添加数据会将之后的数据内存位置往后挪动 删 改 查 区别 实现单项链表 MyList /*** CreateName SIN* CreateDate 2023/07/27 16:28* description 定义链表功能规范避免子类编码随意性。同时也实现了程序的解耦提高代码的可维护性。*/ //泛型E任何数据类型 public interface MyListE {//添加节点数据void add(E element);//获取节点数据(根据具体的指针找到对应的数据E get(int index);//获取链表的长度int size();//根据指针移除节点E remove(int index);//修改节点数据E set(int index,E element); } MyLinkedList package com.sin.linkedList;/*** CreateName SIN* CreateDate 2023/07/27 16:35* description*/ public class MyLinkedListE implements MyListE{// 存放链表的头节点private Node head;// 记录链表的长度private int size;/*** 向链表中添加节点* param element 添加的节点*/Overridepublic void add(E element) {//创建一个新的节点存储传入的元素NodeE node new NodeE(element,null);//获取链表尾节点Node tail getTail();//如果链表为空if (tail null){//将新节点设置为头节点this.head node;}else{//否则在尾节点后面添加新节点tail.next node;}//记录元素的个数this.size;}/*** 获取尾节点* return 返回尾节点*/private Node getTail(){//判断当前头节点是否为空if(this.head null){return null;}//遍历链表//从头节点开始遍历链表Node node this.head;while (true){//如果下一个节点为空则表示当前节点为尾节点则跳出循环if(node.next null){break;}//在循环的过程中移动指针指向下一个节点node node.next;}//返回尾节点return node;}/*** 根据指针获取节点数据* param index* return 返回节点数据*/Overridepublic E get(int index) {//1,校验index的合法性pointerIndex(index);//2,根据具体位置获取对应的节点数据NodeE node getNode(index);//3,将节点中的元素返回return node.item;}/*** 校验所给定的指针是否在链表的有效范围内* param index*/private void pointerIndex(int index){// 大于等于0并且小于链表长度if (!(index 0 index this.size)){//获取最大的索引指int a this.size-1;// 抛出索引越界异常显示错误信息throw new IndexOutOfBoundsException(你输入的指针为index 最大指针为a);}}/*** 根据指针获取节点* return 返回给定索引处的节点*/private Node getNode(int index){//从头节点开始遍历链表NodeE node this.head;//移动指针指向下一个节点直到所给定的索引位置for (int i 0;i index;i){node node.next;}//返回给定索引处的节点return node;}Overridepublic int size() {return this.size;}Overridepublic E remove(int index) {//校验index的合法性this.pointerIndex(index);//根据index指针找到该节点对象数据NodeE node this.getNode(index);//获取该节点对象中的元素E item node.item;//向该节点对象中单向链表删除//判断当前删除的节点是否为头节点if (this.head node){this.head node.next;//如果是删除头节点头节点的下一个节点赋值给了头节点}else {NodeE node1 this.head;//拿头节点for (int i 0 ; iindex - 1 ; i){node1node1.next;}node1.next node.next;//将节点的下一个节点赋值给该节点}node.next null;this.size -- ;//删除成功长度减一return item;//返回元素}/*** 修改节点数据* param index 挪动指针* return 返回修好的值*/Overridepublic E set(int index,E element) {//校验index的合法性pointerIndex(index);//获取index处的节点NodeE node getNode(index);//将节点值数据进行赋值替换return node.item element;}/*** 使用内部类定义单向链表中的节点对象**/class NodeE{//数据域private E item;//存储的数据//指针域private Node next;//存储下一个节点对象的地址//无参构造方法public Node(){}//全参构造方法public Node(E item,Node next){this.item item;this.next next;}} } 测试 public static void main(String[] args) {MyLinkedList myLinkedList new MyLinkedList();myLinkedList.add(12);myLinkedList.add(13);myLinkedList.add(14);myLinkedList.add(15);myLinkedList.add(16);System.out.println(根据指针找到值myLinkedList.get(4));System.out.println(删除的节点myLinkedList.remove(0));System.out.println(myLinkedList);System.out.println(myLinkedList.size());System.out.println(myLinkedList.set(3,张三);for (int i0;imyLinkedList.size(); i){System.out.print(myLinkedList.get(i),);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87188.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何更改网站备案号营商环境网站建设

[vue] 你有使用过vue开发多语言项目吗?说说你的做法? 使用Vue-i18n 加载不同的语言配置文件, 重要是初始化时,判断当前语言环境,要想好存储方案 采用i18n来解决国际化问题,关于语言环境的存储方案,看到有…

网站建设毕业答辩ppt模板网页制作作品欣赏

在Data Geekery ,我们喜欢Java。 而且,由于我们真的很喜欢jOOQ的流畅的API和查询DSL ,我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 Java 8星期五 每个星期五,我们都会向您展示一些不错的教程风格的Java 8新功能&#…

平台营销型网站有什么设计网站推荐

Flume(1.11.0版本) 简介 概述 Flume本身是由Cloudera公司开发的后来贡献给了Apache的一套针对日志数据进行收集(collecting)、汇聚(aggregating)和传输(moving)的机制 Flume本身提供了简单且灵活的结构来完成日志数据的传输 Flume有两大版本&#x…

网站项目需求分析广州黄埔区做网站培训机构

MNN是一个高效、轻量的深度学习框架,它支持深度模型的推理与训练,尤其在端侧的推理与训练性能在业界处于领先地位。MNN已经在阿里巴巴的多个App中使用,覆盖多个场景,同时在IoT等场景下也有若干应用。它支持TensorFlow、Caffe、ONN…

鼠标放到一级导航时才显示网站二级导航 鼠标离开时不显示 怎么控制360浏览器怎么创建网页

FOFA网络空间搜索引擎使用教程 FOFA是白帽汇推出的一款网络空间搜索引擎,它通过进行网络空间测绘,能够帮助研究人员或者企业迅速进行网络资产匹配,例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。 官网:https:…

杭州pc手机网站建设wordpress优秀中文主题

获取需要的 RPM 包常用站点: http://mirrors.sohu.com http://rpmfind.net http://rpm.pbone.net/

网站后台功能开发免费素材库网站

一、接下来,我们来说这个“图形上下文栈” 1.我们还是把之前的copy这份儿代码复制一下,改个名字,叫做“02-图形上下文栈”, 好,我们把刚才那个圆形拿过来,那条线也拿过来,用CGContextAdd:这种方式, 把第一步,获取当前上下文,也拿过来,第三步,渲染,也拿过来, 打开…

莱州网站建设服务wordpress源码商城

最近换手机的时候一时冲动败了个32G的TF卡。买后又觉得手机存储空间还比较充裕,暂时用不上,便打算套个读卡器当U盘用。最开始我用的是以前买手机的时候送的一个读卡器,但其兼容性很差,在以前的那个8G的卡里还能勉强用用&#xff0…

佛山专业网站建设公司推荐海口网站自助建站

转自:http://www.cnblogs.com/ninghechuan/p/6172237.html 1、notepad与vivado关联 打开vivado软件,选择菜单栏“Tools——>Options…”,在弹出的对话框中,选择General选项卡,如图1所示。 拉动右边的滚动条到Text E…

纯文字排版设计网站蚌埠app制作公司

一、研究背景 随着经济的发展和金融市场的不断完善,股票投资成为了人们重要的投资方式之一。汽车行业作为国民经济的重要支柱产业,其上市公司的股票表现备受关注。Fama-French 三因子模型是一种广泛应用于股票市场的资产定价模型,它考虑了市场…

seo网站推广与优化方案山西房地产网站建设

文章目录 1. 准备数据1.1 配置超参数1.2 下载数据1.3 配置数据 2. 创建模型2.1 定义鉴别器2.2 定义生成器 3. 训练模型3.1 创建实例3.2 开始训练3.3 保存模型 4. 什么是GAN(对抗生成网络)? 🍨 本文为🔗365天深度学习训练营 中的学…

手机创建网站网络教学平台

ODOO17作为ERP软件,其核心优势在于数据安全。凭借强大的原生安全机制及灵活的配置,确保数据安全无忧: ODOO17, as an ERP software, boasts its significant advantage in exceptional data security performance. It effectively ensures wo…

网站建设技术要求公司网站免费建设

vue指令-插值表达式 1、什么是插值表达式2、Vue变量声明在哪里 1、什么是插值表达式 双大括号&#xff0c;可以把vue数据变量直接显示在标签内 2、Vue变量声明在哪里 data函数返回对象上&#xff0c;用key属性声明 示例&#xff1a; <template><div id"app&…

会宁网站建设公司哪些因素营销网站权重

六 分布式流量防护 1 认识分布式流量防护 在分布式系统中&#xff0c;服务之间的相互调用会生成分布式流量。如何通过组件进行流量防护&#xff0c;并有效控制流量&#xff0c;是分布式系统的技术挑战之一。 什么是服务雪崩 假设我有一个微服务系统&#xff0c;这个系统内包…

怎么做投票管理系统后台网站松江区做网站

长期维护windows服务器终结出来的安全设置批处理与大家分享&#xff0c;复制以下全部内容用记事本另存为bat或者cmd执行分隔符号echo. echo ------------------------------------------------------ echo. echo ........... echo. net share c$ /delete net share d$ /delete …

大气的金融网站免费ppt模板之家

目录 一、下载nacos并运行 1.1、创建9001微服务作为提供者 1.2、创建80微服务作为消费者 二、naocs配置中心规则与动态刷新 2.1、创建3377微服务 2.2、在nacos中创建配置文件 三、nacos数据模型之Namespace-Group-Datald 3.1、DatalD方案 3.2、Group方案 3.3、Name…

房山重庆网站建设o2o网站做推广公司

这篇文章介绍下BASH shell中的字符串处理的相关命令。之前有介绍过shell的其它命令&#xff0c;请参考&#xff1a; BASH shell脚本篇1——基本命令 BASH shell脚本篇2——条件命令 Bash字符串也是一种数据类型&#xff0c;它用于表示文本而不是数字&#xff0c;它是一组可能…

pc端宣传网站开发做+淘宝客最大的网站是叫什么

阅读推荐程序员跳槽时机已到&#xff0c;闲聊中面试官无意泄题SpringBoot作为日常开发利器&#xff0c;开箱即用&#xff0c;大量的star等已经成为节省开发的重要框架之一&#xff0c;但是各个框架的star中引入的日志框架却不尽相同&#xff0c;有的是log4j&#xff0c;有的是s…

企业网站建设板块茂名网站开发公司

条件(Conditionals) 条件&#xff1a; 条件提供了语言的流控制&#xff0c;否则就是纯粹的静态语言。提供的条件有导入、混入、函数以及更多。下面的例子纯粹示例&#xff0c;并不是使用建议 if / else if / else 这没什么好说的&#xff0c;跟一般的语言一致&#xff0c;i…

营销网站建设佛山专业做淘宝网站

文章目录 首先是主线程 其次是一个程序 通过一个QThread来放入程序 进阶一点: 手动开启关闭线程俩个线程 其实QT中的thread(线程)是很容易的 首先是主线程 #include "mainwindow.h" #include "ui_mainwindow.h"#include <QDebug>MainWindow::MainWin…