- 数组模拟单链表
Star_.
蓝桥杯java数据结构链表
实现一个单链表,链表初始为空,支持三种操作:向链表头插入一个数;删除第k个插入的数后面的数;在第k个插入的数后插入一个数。现在要对该链表进行M次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中第k个插入的数并不是指当前链表的第k个数。例如操作过程中一共插入了n个数,则按照插入的时间顺序,这n个数依次为:第1个插入的数,第2个插入的数,…第n个插入的数。输入格式第一行包含整数M,表示操作次
- 深入链表的遍历——快慢指针算法(LeetCode——876题)
欺霜
链表算法java
今天我们一起来学习一下一个快速遍历链表的方法我们先来看看一道经典的需要遍历链表的题目(题目来自LeetCode)876.链表的中间结点https://leetcode.cn/problems/middle-of-the-linked-list/给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。普通方法publicListNodemiddleNode
- 【百日算法计划】:每日一题,见证成长(013)
码上一元
数据结构与算法算法
题目回文链表给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。输入:head=[1,2,2,1]输出:true思路找到中间节点反转后半部分链表前后链表顺序比对publicbooleanisPalindrome2(ListNodehead){if(head==null||head.next==null)returntrue;ListNodep=
- 代码随想录算法训练营第三天| 链表01
咕咕鹄鹄
算法
一、链表基础链表是一种通过指针串联在一起的线性结构。每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针)。最后一个节点的指针域指向null(空指针的意思)。链表的入口节点称为链表的头结点也就是head。链表类型:单链表、双链表、循环链表单链表:双链表:每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。双链表既可以向前查询也可以向后查询。循环链表,就是链表首尾相
- 可利用空间表(Free List)
寿寿_32206
可利用空间表(单链表)1、"可利用空间表",是动态内存管理得一种方法。通过吧空闲得内存划分成固定得数据块,然后利用指针吧这些数据块链接起来,并使用指针指向首结点。2、当用户请求分配时候,系统从可利用的空间表种删除一个结点并分配,当用户释放其所占的内存时,系统既回收并将它插入到可利用的空间表中,空间表也称“存储池”。3、空间表的三种结点结构a.结点大小相同:把内存分为大小相同的若干块,将各块链接起来
- 面试题 链表相交 -剑指offer简单
努力搬砖的小王
日常杂记链表leetcode数据结构
面试题链表相交题目链接给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回null。图示两个链表在节点c1开始相交:题目数据保证整个链式结构中不存在环。注意,函数返回结果后,链表必须保持其原始结构。示例1:输入:intersectVal=8,listA=[4,1,8,4,5],listB=[5,0,1,8,4,5],skipA=2,ski
- 数据结构与算法 python实现单链表实现对列
我只要一发
python数据结构与算法Python实现单链表实现对列
对列:先来的先走,后来的后走FIFO实现FIFO的实现数据结构:arroylistlinkedlistdoubllinkedlist最基本的操作,push入列pop出列单链表实现appendpopleftclassFullError(Exception):passclassEmptyError(Exception):passclassQueue(object):def__init__(self,m
- 数据结构:链表、栈、队列
小朱在敲代码
数据结构链表c语言ubuntuvscode
目录链表、栈、队列链表空间使用的区别链表类型单链表节点定义单链表示例双链表节点定义双链表使用栈(Stack)LIFO栈定义栈的使用中缀表达式转后缀表达式(逆波兰表达式)队列(queue)FIFO队列的定义队列的使用链表、栈、队列计算机科学中的数据结构是算法设计的基础。本文将详细介绍链表、栈和队列这三种常见的数据结构,并重点分析链表的各种形式及其操作方法。链表链表是一种线性数据结构,与数组不同的是,
- 数据结构——单链表实现和注释浅解
迷迭所归处
数据结构数据结构
关于单链表的基础部分增删查改的实现和一点理解,写在注释里~SList.h#pragmaonce#include#include#include//定义节点的结构//数据+指向下一个节点的指针typedefintSLTDataType;typedefstructSListNode{SLTDataTypedata;//当前节点存储的数据structSListNode*next;//指向下一个节点的指针
- 【408DS算法题】023提高-判断带头结点的链表是否对称
Owlet_woodBird
算法链表数据结构
Index题目分析实现总结题目基础:给定链表的头结点,判断双循环链表是否对称。提高:给定链表的头结点,判断单链表是否对称。分析实现首先分析基础题目:双循环链表的对称判断双循环链表可以方便地访问任意结点的前驱,可直接设置分别指向链表结点的前后指针,不断判断前后指针所指元素是否相等。当两指针相遇/交错的时候,对称性判断完毕,具体实现如下:boolisSymmetric(DLNode*head){DLN
- 为什么不带头节点的非循环单链表进行插入需要使用二级指针,而带头结点的循环双链表不需要二级指针
考研势在必行
C语言模糊知识点数据结构c语言开发语言java数据结构游戏
是否需要使用二级指针的条件,看是否需要改变实参的地址那么为什么不带头节点的非循环单链表进行插入需要使用二级指针,而带头结点的循环双链表不需要二级指针呢,原因就是不带头节点的非循环单链表进行插入需要改变实参的地址,而带头结点的循环双链表不需要改变实参的地址以头插为例function_Slist.cvoidSLIitPushFront(node**pphead,DataTypex){node*newn
- C++ STL->list模拟实现
C++下等马
C++c++liststl
theme:smartbluelistlist文档list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。list与forward_list非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代,已让其更简单高效。与其他的序
- 经典数据结构题目解析
xace007
数据结构算法
链表1.删除单链表的重复节点遍历法classSolution{public:ListNode*removeDuplicateNodes(ListNode*head){//先检查头节点是否为空,快速判断if(head==NULL){returnNULL;}ListNode*current=head;//循环遍历检查每一个元素,如果有相同元素则去掉while(current){ListNode*p=c
- #数据结构# 单链表的实现3(C语言)
Asuiiiyi
数据结构数据结构
目录6.尾删结点(SListPopBack):7.头删结点(SListPopFront):8.在pos位置之后插入数据x(SListInsertAfter):9.删除pos位置的数据(SListErase):10.销毁链表(SListDestroy):6.尾删结点(SListPopBack):思路:我们需要找到最后一个结点,并且删除并释放内存,而倒数第二个结点即成为了新的尾结点。因此,我们不仅要得
- #数据结构# 单链表的实现1(C语言)
Asuiiiyi
数据结构数据结构
目录链表的概念:单链表的实现:1.链表的基本单元:2.申请结点(BuySListNode):3.打印链表(SListPrint):链表的概念:“链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。”简单来说可以说为“一环扣一环”,每个结点的数据都有着联系下一个结点的方式。为了方便,我们把链表的名称简化为“SList”。单链表的实现:1.链表的基本单
- 数据结构——单链表多链表基本操作菜单实现(c语言)
weth
c语言作业集数据结构链表c语言
本文将单链表与双向链表的基本操作在同一个程序中实现。其中单链表头文件中的函数与双向链表头文件中的函数可以分离出来单独使用。菜单程序的实现的程序较为复杂,变量多且作用范围不同,如果修改代码需要对代码非常熟悉,没有很好的做到函数的可分离。见谅!完整头文件和代码下载链接请拉到最底端!一、菜单功能及从属关系注意:1.程序设置了两个单链表节点指针和两个双向链表节点指针,但是表现给使用者的链表数同时间内最多两
- LeetCode——反转链表&&相交链表
宁檬精
leetcode链表javascript
目录一.反转链表题目介绍:代码实现:解题思路:二.相交链表题目介绍:代码实现:分析题目:解题思路:一.反转链表题目介绍:给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例1:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]示例2:输入:head=[1,2]输出:[2,1]示例3:输入:head=[]输出:[]提示:链表中节点的数目范围是[0,5000]-5000n
- 链表小总结
万事尽全力
算法题汇总链表数据结构
1.介绍:1.分类:单链表、双链表、循环链表(可以用来解决约瑟夫环问题)。2.存储方式:链表的节点在内存中是分散存储的,通过指针连在一起。3.时间复杂度:链表的增添和删除都是O(1);查找的时间复杂度是O(n)。2.链表的定义:publicclassListNode{//结点的值intval;//下一个结点ListNodenext;//节点的构造函数(无参)publicListNode(){}//
- 二叉树展开为列表(LeetCode)
好好学习Py
算法与数据结构leetcode算法python
题目给你二叉树的根结点root,请你将它展开为一个单链表:展开后的单链表应该同样使用TreeNode,其中right子指针指向链表中下一个结点,而左子指针始终为null。展开后的单链表应该与二叉树先序遍历顺序相同。解题classTreeNode:def__init__(self,val=0,left=None,right=None):self.val=valself.left=leftself.r
- leetcode刷题记录-两数相加
每天都一万遍想吃
leetcode
leetcode小白每日做题记录习题集:hot100(c++)题目:第二题两数相加(难度中等)做题思路小白目前只能想到比较直接的方法:本题是采用不带头结点的单链表进行操作的(这里要注意!不然后续的进位计算会出错!!这是我最开始踩的坑)通过对链表中数据的观察,发现只需要维护一个进位变量,这里我采用的是bool型变量,当需要进位时置进位变量st为true,反之为false。由于链l1,l2链表的长度不
- 【LeetCode】刷题记录--单链表相关
DelTTAA
leetcode算法职场和发展
21publicListNodemergeTwoLists(ListNodelist1,ListNodelist2){if(list1==null)returnlist2;if(list2==null)returnlist1;ListNoderesult=newListNode(0);ListNodep=result;while(list1!=null&&list2!=null){if(list1
- LeeCode打卡第十六天
一只大毛吖
leetcode算法数据结构java
LeeCode打卡第十六天第一题:回文链表(LeeCode第234题):给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。解法一:暴力求解法主要思想:将链表中的所有元素存到数组中,然后数组首尾进行遍历,看是否相等,相等即为回文链表,不相等则返回false/***Definitionforsingly-linkedlist.*publiccla
- 数据结构代码集训day11(适合考研、自学、期末和专升本)
摆烂的小白
数据结构考研算法链表
今日习题来自B站up:白话拆解数据结构题目如下:1、判断B链表的值是否是A链表值的连续子序列2、假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀存储空间,例如,“loading”和“being”的存储映像如下图所示。设str1和str2分别指向两个单词所在单链表的头结点,链表结点结构为{[data][next]},请设计一个时间上尽可能高效的算法,找出由str1和st
- 数据结构集训day12(适合考研、自学、期末和专升本)
摆烂的小白
数据结构考研算法链表
习题来自B站up:白话拆解数据结构今日题目如下:(1)判断带头结点的循环双链表是否对称(2)判断单链表是否有环,有就返回环的入口点,否则返回Null题1首先是结构体,比单链表多了一个前驱指针域。typedefstructDLnode{intdata;DLnode*next;DLnode*prior;}DLnode,*DLinklist;所以建表的过程也需要对前驱进行操作。DLinklistlist
- 力扣237题详解:删除链表中的节点的模拟面试问答
数据分析螺丝钉
LeetCode刷题与模拟面试leetcode算法面试python经验分享
在本篇文章中,我们将详细解读力扣第237题“删除链表中的节点”。通过学习本篇文章,读者将掌握如何在单链表中删除给定的节点,并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释,以便于理解。问题描述力扣第237题“删除链表中的节点”描述如下:请编写一个函数,用于删除单链表中某个节点。请注意,你只能删除该节点自身,而不能删除其他节点。你将不会得到该节点的前一个节点,但是会得到那个节点本身。
- 【MAC 上学习 C++】Day 55-7. 实验11-2-8 单链表结点删除 (20 分)
RaRasa
实验11-2-8单链表结点删除(20分)1.题目摘自https://pintia.cn/problem-sets/13/problems/6092.题目内容本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:structListNode{intdata;ListNode*next;};函数接口定义:structListNode*readlis
- 力扣234题详解:回文链表的多种解法与模拟面试问答
数据分析螺丝钉
LeetCode刷题与模拟面试leetcode面试算法经验分享python
在本篇文章中,我们将详细解读力扣第234题“回文链表”。通过学习本篇文章,读者将掌握如何判断一个链表是否为回文链表,并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释,以便于理解。问题描述力扣第234题“回文链表”描述如下:给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。示例:输入:head=[1,2,2,1]输出:true示
- 2020最新大厂内部 PHP 高级工程师面试题汇总(一)
it阿布
1、给你四个坐标点,判断它们能不能组成一个矩形,如判断([0,0],[0,1],[1,1],[1,0])能组成一个矩形。勾股定理,矩形是对角线相等的四边形。只要任意三点不在一条直线上,任选一点,求这一点到另外三点的长度的平方,两个短的之和如果等于最长的,那么这就是矩形。2、写一段代码判断单向链表中有没有形成环,如果形成环,请找出环的入口处,即P点/**单链表的结点类*/classLNode{//为
- 单链表(无头结点)(C/C++)
网络安全电子信息
C/C++数据结构c语言c++数据结构
带头结点与不带头结点的单链表,在进行操作时有哪些区别呢?1.当对单链表的表首元素进行删除或插入操作时,要进行区别处理,无头结点的单链表进行头指针的更新。2.带头结点的单链表,无论单链表是否为空链表,头指针都指向头结点。不带头结点的单链表,当单链表为非空链表时,头指针指向链表第一个结点(LNode),当单链表为空链表时,头指针指向空(NULL)。创建结点//创建不带头结点链表的结点typedefst
- 相交链表
windUtterance
题目描述:编写一个程序,找到两个单链表相交的起始节点。示例:image.png输入:intersectVal=8,listA=[4,1,8,4,5],listB=[5,0,1,8,4,5],skipA=2,skipB=3输出:Referenceofthenodewithvalue=8输入解释:相交节点的值为8(注意,如果两个链表相交则不能为0)。从各自的表头开始算起,链表A为[4,1,8,4,5]
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include