- 博客(70)
- 收藏
- 关注
原创 数据结构(三)——链表
为了表示每个数据元素ai与其后继数据元素ai+1之间的逻辑关系,对数据元素ai来说,除了其本身的信息之外,还需要存储一个指示其直接后继的信息(直接后继的存储位置)。节点包括两个域,其中存储数据元素信息的称为数据域,存储直接后继存储位置有域称为指针域。线性表链式存储结构的特点是:用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)②先找到插入位置之前的那个位置,然后指向那个位置所指向的下一个位置。③如果p不为空,用指针q记录指针p的后继节点。②找到要删除节点的前置节点p。
2025-03-14 20:14:03
519
原创 数据结构(二)——顺序表
顺序表:用一组连续的内存单元依次存储线性表的各个元素,也就是说,逻辑上相邻的元素,实际的物理存储空间也是连续的。原理:删除56后,后面的每一个元素向前覆盖前一个元素,最后剩余一个12没有覆盖,直接length-1即可。(4)除最后一个元素外,结构中的每个数据元素均只有一个后继(后一个元素);(3)除第一个元素外,结构中的每个数据元素均只有一个前驱(前一个元素);线性表是n个数据元素的有限序列,其中n个数据是相同数据类型的。(2)存在唯一的一个被称作“最后一个”的数据元素;3.顺序表——在尾部添加元素。
2025-03-14 16:52:56
586
原创 数据结构(一)——绪论
并且,在任何条件下,算法只有惟一的一条执行路径,即对于相同的输入只能得出相同的输出。:是把数据元素放到地址连续的存储单元里面,其数据间的逻辑关系和物理关系是一致的。对算法时间复杂度的度量,通常只讨论算法在最坏情况下的时间复杂度即分析在最坏情况下,算法执行时间的上界。:一个算法是能行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。:是把数据元素存放在任意的存储单元里面,这组存储单元可以是连续的也可以是不连续的。:一个算法有零个或多个的输入,这些输入取自于某个特定的对象的集合。
2025-03-13 20:56:07
963
原创 web复习(五)
四、打印倒三角星星(第一行一个,第二行两个...,以此类推)三、用户输入行数和列数并打印相应行数和列数的⭐。五、用户输入秒数,可以自动转换为时分秒。二、打印出五行五列的星星。
2024-12-22 20:16:55
175
原创 Mysql复习(二)
关系规范化中删除异常是指(不该删除的数据被删除),插入异常是指(应该插入的数据无法被插入),数据冗余是指(数据库中重复的数据过多),修改异常是指(修改数据时,维护数据完整性代价大)数据流图中,用(正方形或立方体)表示数据的源点或终点,(圆角矩形或圆形)表示变换数据的处理过程,(开口矩形或两条平行横线)代表数据存储,(箭头)代表数据流,即特定数据的流动方向。关系模式由五部分组成,是一个五元组(只学三个部分):R(U,F),R是符号化的元组语义,U是一组属性,F是属性组U上的一组数据依赖。
2024-12-22 19:08:31
794
原创 Mysql复习(一)
数据库DB,数据库系统DBS和数据库管理系统DBMS三者之间的关系是(DBS包括DB和DBMS)聚集函数也叫列函数,它们都是基于整列数据进行计算的,而where子句则是对数据行进行过滤的。E-R(实体-关系)图是数据库设计的工具之一,一般适用于建立数据库的(概念模型)A.查询 B.在视图上定义新的视图 C.更新视图 D.在视图上定义新的表。唯一索引(UNIQUE)的作用是(保证各行在该索引上的值都不得重复)一个关系中的所有候选关键字均可以被指定为主关键字。关系表达式运算的结果是(逻辑型)
2024-12-22 19:05:18
694
原创 AndroidStudio——安卓项目结构与文件介绍
主要说明了本项目的名称,所包含的子项目,以及本项目仓库的位置等。简单来说,Gradle是运行于JVM中的一个用于自动构建项目的程序,目前安卓将其作为官方的构建程序,且Springboot也逐渐支持Gradle。在主目录/根目录下的build.gradle也是gradle的配置文件,主要说明了本项目所需的依赖包、Kotlin/SDK的版本等信息。例如如果一个2*2的网格布局中,所有控件的比重都为1,则将均分父控件。从安卓中的类的角度来看,控件就是view类的对象,布局就是viewgroup类的对象。
2024-12-13 09:59:06
1850
原创 Kotlin复习
例如,如果在某个activity中开辟了一个协程,则该协程的生命周期与该activity相同,那么当我们在这个协程中进行网络请求,如果activity被销毁,则该网络请求会被立即终止。相比于传统的回调函数或者使用异步任务(AsyncTask)等方式,协程提供了更加顺序、自然的编码方式,避免了回调地狱(callback hell)的问题。它们提供了一种在代码中以顺序、可读的方式表达并发性的方法,而无需使用传统的回调函数或显式的线程管理。:Set 是一种不包含重复元素的集合,元素之间没有明确的顺序。
2024-12-12 21:37:58
1189
原创 AndroidStudio运行报错提示:Dependent features configures but no package ID was set
其实是在复制粘贴代码的时候有的地方代码文件名字没改,在代码里改一下就好了。
2024-12-12 13:15:31
211
原创 Android四大组件——Content Provider
例如,用户只需知道有一个insert方法可以插入数据,并且向该方法传递待插入的数据即可,其并不关心数据是如何插入的,也不关心数据的具体组织形式。但是,程序不能直接操作Content Provider,而是借助名为Content Resolver的类,如下图所示。Content Provider 使用基于数据库模型的简单表格来提供需要共享的数据,在该表格中,每一行表示一条记录,而每一列代表特定类型和含义的数据,并且其中每一条数据记录都包含一个名为“_ID”的字段类标识每条数据。但是该过程是主动地读取数据。
2024-12-12 13:09:45
781
原创 Android四大组件——Broadcast
有序广播(Ordered Broadcasts):有序广播是同步的,一个接一个地按顺序传递广播,接收器可以决定是否将广播传递给下一个接收器。标准广播(Normal Broadcasts)(无序广播):标准广播/无序广播是完全异步的。发送广播的组件不需要知道接收广播的具体组件,实现了松耦合设计,提高了代码的模块化和可维护性。当广播发送者发出相应的广播(通知)时,所订阅的接收者就会收到相应的数据,并进行业务处理。例如,接收时区变化的系统广播。广播接收者接收时区变化和电量变化的广播,这些都是系统发出的广播。
2024-12-11 20:58:08
1314
1
原创 Android四大组件——Service
有了Binder,只是拥有了Activity和Service之间通信的工具,还需要让Activity能够“使用该工具进行通信”,因此需要继承ServiceConnection的MyConnection类,将Binder和Activity绑定。:当一个Activity启动某个服务后,即使用户关闭该Activity,服务依然存在,且其他Activity可以通过绑定该服务或者发送Intent与该服务进行通信,即使启动该服务的Activity已经关闭。通过绑定方式开启的服务,可以实现服务与其它组件之间的通信。
2024-12-10 21:01:50
1181
原创 Android四大组件——Activity(二)
1.假设有一个User类的对象,我们先使用putExtra进行传递。一、Activity之间传递消息。2.再使用Bundle来传递。二、Activity消息回传。(先放这,有时间再回来写)
2024-12-09 19:32:11
395
原创 web复习(四)
(4)假设每个子窗口显示的网页分别为top.html、left.html、right.html、bottom.html,在index.html文件中给每一个子窗口中指定显示的网页。(3)输入完半径后,点击“计算圆的面积”按钮后,将计算结果显示在“圆的面积”文本框中;(2)页面布局采用主体水平分割成上、 中、下三个部分,比例为10%、80%、10%;(1)表单中设置2个文本框、1个按钮、1个重置按钮,其中圆的面积文本框设置为只读;(3)中间部分垂直分割成左、右两部分,比例分别为25%、75%;
2024-12-09 14:59:09
257
原创 Android四大组件——Activity(一)
创建好的Activity只是Kotlin中的一个类,如果要使用这个Activity,则必须在安卓的配置文件AndroidManifest.xml中设置,添加下述节点,这里声明了一个Activity,并且不允许外部应用调用它。需要注意的是,这种方式新建对应的类后,需要手动继承AppCompatActivity类,并且需要手动添加onCreate回调的实现,添加相应的布局文件。(4)Intent 启动:通过 Intent,可以启动其他 Activity,实现不同界面之间的切换和交互。
2024-12-09 14:28:29
990
原创 web复习(三)
另外,如果是从其他应用软件或是文件中拖东西进来,尤其是图片的时候,默认的动作是显示这个图片或是相关信息,并不是真的执行drop,此时需要用document的ondragover事件来执行。另外,如果是从其他应用软件或是文件中拖东西进来,尤其是图片的时候,默认的动作是显示这个图片或是相关信息,并不是真的执行drop,此时需要用document的ondragover事件来执行。"metadata": 这个选项的值将告诉服务端,用户不想马上加载音频,但需要预先获得音频的元数据信息(比如文件的大小,时长等)。
2024-12-08 16:49:17
956
原创 web复习(二)
3.编写一个函数,该函数能够找出数组中出现次数最多的元素,并返回该元素。如果有多个元素出现次数最多,返回其中的任意一个。1.编写一个函数,接收一个数组作为参数,返回一个对象,其中包含数组中每个元素及其出现次数。4.编写一个函数,该函数能够找出数组中的所有非重复元素,并返回一个新数组。5.给定一个二叉树和一个值,判断该值是否存在于二叉树中。2.编写一个函数来查找并返回一个数组中的最大值。
2024-12-08 16:30:02
232
原创 web复习(一)
一个完整的拖拽动作过程是(dragstart–>dragenter –>dragover –> drop –>dragend)。怎样给所有的<h1>标签添加背景颜色(h1 {background-color:#FFFFFF;(指定元素的位置(例如绝对定位、相对定位等))JavaScript 中的 `document` 对象有什么用途?CSS 中的 `background-image` 属性有什么用途?JavaScript 中的 `JSON` 对象有什么用途?CSS 中的 `float` 属性有什么用途?
2024-12-08 13:55:08
643
原创 AndroidStudio-常见界面控件
安卓中的ListView是一种常用的UI组件,用于在应用中展示可滚动的列表数据,允许用户通过滑动屏幕来查看列表中的项目,并且可以在列表中显示复杂的数据。在较新的安卓开发中,RecyclerView通常被认为是更灵活和性能更好的选择,尤其是在处理大量数据或需要更复杂布局的情况下。灵活的布局管理器(LayoutManager):RecyclerView允许开发者使用不同的布局管理器来控制列表项的排列方式,例如垂直列表、水平列表、网格布局等,这使得RecyclerView适用于各种不同的布局需求。
2024-12-05 18:55:48
1495
原创 AndroidStudio-Activity的生命周期
(3)onResume:恢复活动。活动页面进入活跃状态,能够与用户正常交互,例如允许响应用户的点击动作、允许用户输入文字等等。startActivity(new Intent(源页面.this,目标页面.class));(6)onDestroy:销毁活动。(4)onPause:例如允许响应用户的点击动作、允许用户输入文字等等。(2)onStart:开始活动。(7)onRestart:重启活动。(8)onNewlntent:重用已有的活动实例。(5)onStop:无法与用户正常交互。
2024-11-16 19:20:02
720
原创 AndroidStudio-广播
发送一条广播,可以被不同的广播接收者所接收,广播接收者收到广播之后,再进行逻辑处理。先收到广播的接收器A,既可以让其他接收器继续收听广播,也可中断广播不让其他接收器收听。一个广播存在多个接收器,这些接收器需要排队收听广播,这意味着广播是条有序广播。在AndroidManifest.xml中注册接收器,该方式称作静态注册。在代码中注册接收器,该方式被称作动态注册。二、Android 中的广播。广播是一种数据传输方式。创建一个标准广播接收者。创建两个接收器A和B。
2024-11-12 08:10:09
898
原创 AndroidStudio-图像显示
它们之间的区别在于:fitcenter既允许缩小图片、也允许放大图片,centerinside只允许缩小图片、不允许放大图标,而center自始至终保持原始尺寸(既不允许缩小图片、也不允许放大图片)。因此,当图片尺寸大于视图宽高,centerInside与fitCenter都会缩小图片,此时它俩的显示效果相同;3.Button只能靠背景显示一张图片,而lmageButton可分别在前景和背景显示图片,从而实现两张图片叠加的效果。2.通过按钮控件Button的drawable属性设置文本周围的图标。
2024-11-11 11:13:16
1359
原创 AndroidStudio-按钮触控
(1)textAllCaps属性,它指定了是否将英文字母转为大写,为true是表示自动转为大写,为false表示不做大写转换。按钮被按住少于500毫秒时,会触发点击事件。是否允许点击由enabled属性控制,属性值为true时表示允许点击,为false时表示不允许点击。(2)onClick属性,它用来接管用户的点击动作,指定了点击按钮时要触发哪个方法;2.可用按钮:按钮允许点击,点击按钮会触发点击事件,同时按钮文字为正常的黑色;1.不可用按钮:按钮不允许点击,即使点击也没反应,同时按钮文字为灰色;
2024-11-10 16:13:27
681
原创 AndroidStudio-滚动视图ScrollView
2.HorizontalScrollView,它是水平方向的滚动视图;水平方向滚动时,layout_width属性值设置为wrap_content,layout_height属性值设置为match_parent。1.ScrollView,它是垂直方向的滚动视图;垂直方向滚动时,layout_width属性值设置为match_parent,layout_height属性值设置为wrap_content。
2024-11-10 13:55:52
554
原创 AndroidStudio-常用布局
权重属性名叫layout_weight,但该属性不在LinearLayout节点设置,而在线性布局的直接下级视图设置,表示该下级视图占据的宽高比例。如果不设定下级视图的参照物,那么下级视图默认显示在RelativeLayout内部的左上角。相对布局的下级视图位置由其他视图决定。1.columnCount属性,它指定了网格的列数,即每行能放多少个视图;2.rowCount属性,它指定了网格的行数,即每列能放多少个视图;线性布局的权重,指的是线性布局的下级视图各自拥有多大比例的宽高。
2024-11-10 13:30:10
1074
原创 AndroidStudio-视图基础
1.采用layout_margin属性,它指定了当前视图与周围平级视图之间的距离。包括layout_margin、layout_marginLeft、layout_marginTop、layout_marginRight、layout_marginBottom。layout_gravity与gravity的取值包括:left、top、right、bottom,还可以用竖线连接各取值,例如“leftltop”表示即靠左又靠上,也就是朝左上角对齐。上级视图的尺寸有多大,当前视图的尺寸就有多大。
2024-11-10 12:02:56
768
原创 AndroidStudio-文本显示
文本大小存在不同的字号单位,XML文件中要求在字号数字后面写明单位类型,常见的字号单位主要有px,dp,sp三种。至于六位十六进制编码,则有两种情况,它在XML文件中默认不透明,而在代码中默认透明(等价于透明度为00)。px是手机屏幕的最小显示单位,它与设备的显示屏有关。,指的是与设备无关的显示单位,它只与屏幕的尺寸有关。三色的数值越大,表示颜色越浓,也就越暗;数值越小,表示颜色越淡,也就越亮。个字号,在不同手机上的显示大小有所差异。中的颜色资源,则调用setBackgroundResource方法,以。
2024-11-09 13:42:34
1146
原创 Web前端-CSS背景
(1)如果指定的两个值都是方位名词,则两个值前后顺序无关,比如left top和 top left 效果一致。为了简化背景属性的代码,我们可以将这些属性合并简写在同一个属性backqround中。如果指定的两个值是精确单位和方位名词混合使用,则第一个值是x坐标,第二个值是y坐标。背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。(1)如果参数值是精确坐标,那么第一个肯定是x坐标,第二个一定是y坐标。(2)如果只指定一个数值,那该数值一定是x坐标,另一个默认垂直居中。
2024-10-25 19:42:59
764
原创 Web前端-JavaScript输入输出语法
作用:显示一个对话框,对话框中包含一条文字信息,用来提示用户输入文字。2.alert()和 prompt()它们会跳过页面渲染先被执行。在计算机科学中,字面量(literal)是在计算机中描述 事/物。注意:如果输出的内容写的是标签,也会被解析成网页元素。1.按HTML文档流顺序执行JavaScript代码。工资是: 1000,此时1000 就是 数字字面量。作用:控制台输出语法,程序员调试使用。作用:向body内输出内容。作用:页面弹出警告对话框。'sgqt’字符串字面量。
2024-10-21 13:10:15
527
原创 Web前端-JavaScript书写位置
我们将 <script>放在HTML文件的底部附近的原因是浏览器会按照代码在文件中的顺序加载 HTML。如果先加载的 JavaScript 期望修改其下方的 HTML,那么它可能由于 HTML 尚未被加载而失效。因此,将JavaScript 代码放在 HTML页面的底部附近通常是最好的策略。(2)外部]avaScript会使代码更加有序,更易于复用,且没有了脚本的混合,HTML 也会更加易读,因此这是个好的习惯。BOM 操作浏览器,比如页面弹窗,检测窗口宽度、存储数据到浏览器等等。
2024-10-20 17:13:08
510
原创 MySQL-多表查询
(在多表查询时,需要消除无效的笛卡尔积)关系: 一对一关系,多用于单表拆分,将一张表的基础字段放在一张表中,其他详情字段放在另一张表中,以提升操作效率。子查询返回的结果是单个值(数字、字符串、日期等),最简单的形式,这种子查询成为标量子查询。对于union查询,就是把多次查询的结果合并起来,形成一个新的查询结果集。相当于查询表2(右表)的所有数据 包含 表1和表2交集部分的数据。子查询返回的结果是一列(可以是多行),这种子查询称为列子查询。子查询返回的结果是一行(可以是多列),这种子查询称为行子查询。
2024-10-15 19:08:42
940
原创 Web前端-案例:简洁版小米侧边栏
行高的上空隙和下空隙把文字挤到中间了.是如果行高小于盒子高度,文字会偏上,如果行高大于盒子高度,则文字偏下。CSS 没有给我们提供文字垂直居中的代码.这里我们可以使用一个小技巧来实现。1. 把链接a转换为块级元素,这样链接就可以独占一行,并且有宽度和高度。让文字的行高等于盒子的高度 就可以让文字在当前盒子内垂直居中。一个小技巧:单行文字垂直居中的代码。2.鼠标经过a给链接设置背景颜色。
2024-10-15 08:42:26
275
原创 Web前端-CSS的元素显示模式
在行内元素中有几个特殊的标签—— <img />、<input />、<td>,它们同时具有块元素和行内元素的特点。常见的行内元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中。常见的块元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>标签是最典型的块元素。特殊情况下,我们需要元素模式的转换,简单理解:一个模式的元素需要另外一种模式的特性,比如想要增加链接<a>的触发范围。标签是最典型的行内元素。
2024-10-15 08:28:35
579
原创 MySQL-约束
注意:目前上述的两张表,在数据库里面,并未建立外键关联,所以是无法保证数据的一致性和完整性的。1.概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。2.目的:保证数据库中数据的正确、有效性和完整性。例:根据需求完成表结构的创建。
2024-10-10 20:53:14
408
原创 Web前端-CSS的复合选择器
在 CSS 中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。并集选择器是各选择器通过英文逗号(,)连接而成,任何形式的选择器都可以作为并集选择器的一部分。伪类选择器用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第1个,第n个元素。3.常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等等。2.元素1是父级,元素2是子级,最终选择的是元素2。2.元素1是父级,元素2是子级,最终选择的是元素2。
2024-10-08 13:56:06
687
原创 CSS-emmet语法生成html标签和css样式
Emmet语法的前身是Zen coding,它使用缩写,来提高html/css的编写速度,Vscode内部已经集成该语法。1.生成标签 直接输入标签名按tab键即可 比如 div 然后tab键,就可以生成<div></div>2.如果想要生成多个相同标签 加上*就可以了比如 div*3 就可以快速生成3个div。3.如果有父子级关系的标签,可以用>比如 u>li就可以了。4.如果有兄弟关系的标签,用 + 就可以了比如 div+p。6.如果生成的div类名是有顺序的,可以用自增符号$
2024-10-08 09:02:16
246
原创 web前端-CSS引入方式
实际开发都是外部样式表,适合于样式比较多的情况.核心是:样式单独写到CSS 文件中,之后把CSS文件引入到 HTML页面中使用。④ 由于书写繁琐,并且没有体现出结构与样式相分离的思想,所以不推荐大量使用,只有对当前元素添加简单样式的时候,可以考虑使用。内部样式表(内嵌样式表)是写到html页面内部,是将所有的 CSS 代码抽取出来,单独放到一个<styie>标签中。使用外部样式表设定CSS,通常也被称为外链式或链接式引入,这种方式是开发中常用的方式。⑤ 使用行内样式表设定CSS,通常也被称为行内式引入。
2024-09-27 21:21:45
897
原创 web前端-CSS字体属性
② 不需要设置的属性可以省略(取默认值),但必须保留 font-size和 font-family属性,否则font 属性将不起作用。em 是一个相对单位,就是当前元素(font-size)1个文字的大小,如果当前元素没有设置大小,则会按照父元素的1个文字大小。CSS Text(文本)属性可定义文本的外观,比如文本的颜色、对齐文本、装饰文本、文本缩进、行间距等。text-indent属性用来指定文本的第一行的缩进,通常是将段落的首行缩进。CSS 使用 font-weight属性设置文本字体的粗细。
2024-09-27 21:11:14
1648
原创 MySQL-SQL(DDL、DML、DQL、DCL)
而having是分组之后对结果进行过滤。(1)DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。注意:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。② 分页查询是数据库的方家,不同的数据库有不同的实现,MySQL中是LIMIT。③ 如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10。② 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。(1)插入数据时,指定的字段顺序需要与值的顺序是一一对应的。
2024-09-27 15:19:07
883
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人