`
文章列表
        之前学习了栈的基本操作,并且学习了栈的两种实现方式:链式存储和顺序存储(数组)。现在看看栈都有哪些应用。栈的一个主要应用是平衡符号。         初学者在编写代码并且编译时,难免会因为少写了一个')'和被编译器报错。也就是说,编译器会去匹配括号是否匹配。当你输入了一个'(',很自然编译器回去检查你是否有另一个')'符号与之匹配。如果所有的括号都能够成对出现,那么编译器是能够通过的。否则编译器会报错。例如字符序列“(a+b)”是匹配的,而字符序列"(a+b]"则不是。         在检测括号匹配的算法中使用到了栈,算法描述如下:创建一个空栈 ...
   上文提到过栈以及栈的基本操作。上文中是基于链表做的实现。但是这种方法会出现大量的malloc()和free()操作,这种开销是非常昂贵的。     另外一种实现方式是基于数组的实现。这种实现方式需要预先制定一个栈的大小,此外还需要一个Top来记录栈顶元素下一个位置的数组索引值。如下图所示:     有的教材将Top指向栈顶元素,也就是上图中X所在的数组单元。我们这里不这么认为。     这种情况下栈的数据结构定义如下:   typedef struct StackRecord *Stack; struct StackRecord { int Capaci ...
DOM中访问指定节点主要需要用到以下几个函数:  1.getElementsByTagName(tag): (1)用来返回一个包含指定标签的节点列表NodeList。然后可以通过前面博客中提到的数组语法(方括号)或者item(pos)来取得该NodeList中具体的那个元素。看下面的代码片段: //获得img元素列表   var oImgs = document.getElementsByTagName("img");   //获取其中的第二个img标签对应的元素   var secondImg = oImgs[1];   //获取第三个img标签对应 ...
1.栈的概念     展示只允许在其一端进行插入语删除操作的表。从定义上来说,栈其实也是线性表,因此栈也具备大多数线性表所具备的基本操作。但是,从定义上可知,栈在进行插入、删除操作时,只能在一端进行操作,这一端成为栈顶(top)。     栈最核心的操作主要是:进栈(Push)、出栈(Pop)、返回栈顶元素(Top)。 此外,栈还判断栈是否为空、创见栈、清空栈等操作。     既然是线性表,那么栈从实现方式来说主要有两种:顺序存储实现(数组)、链式存储实现(链表)。下面是链式存储实现方式下,站的数据结构定义: typedef struct Node *PtrToNode;  ...
Node接口本身有一个attributes属性,并且所有类型的节点都继承了该属性。但是,事实上只有Element类型的节点才能有属性。Element节点的attibutes属性类型为NamedNodeList。NamedNodeMap可以通过数字和名字索引节点。 NamedNodeMap具有以下几个 ...
1.HTML中的DOM         W3C再开发XML DOM的同时,还针对XHTML以及HTML开发了DOM。这个DOM定义了一个HTMLDocument和HTMLElement作为这种实现的基础。每个HTML元素由对应的HTMLElement类型来表示。例如HTMLDivElement代表<div>标签。 2.访问相关节点         document对象既是BOM的一部分,也是DOM的一部分。因此DOM的处理过程大多数都是以document对象开始的。直接看代码吧。有点特别的东西都在注释里进行了说明。 <html> <head> ...
1.桶排序         有N个整数,范围是1-M或者是0-M-1。留置一个数组Count,其大小为M,并初始化为0。于是Count有M个单元(或者叫桶)。当Ai被读入时,Count[Ai]增1。当所有的输入被读入,扫描Count,打印输出排序号的列表。       ...
当讨论DOM树的时候,一般讨论的是节点的层次。DOM定义了Node的接口以及许多种节点类型来表现XML节点的多方面: Document 顶层节点,所有其他节点依附于该节点 DocumentType DTD引用。它不能包含子节点 DocumentFragment 可以像Document节点一样保存其他节点 Element 其实标签和结束标签之间的内容<tag></tag>或者<tag/>这是唯一一个能够包含特性和子节点的节点类型 Attr 代表一对特性名和特性值,该节点类型不能包含子节点 Text 代表XML文档中 ...
一般来说,线程都具有5种状态:新建、就绪、运行、阻塞、终止。这些不同状态之间可以发生转换。如图1所示。  
        大一的时候我们专业开了一门C语言限选课,老师觉得指针太难,所以不讲指针。大三的时候学数据结构,考虑到数据结构比较难,老师不要求代码实现。就这样,两门比较重要的课就这样浑浑噩噩的过去了。后来学Java,算是学的还行,也独立的做过一些导师的项目。只是在找工作的时候,才发现笔试题、面试题到处都是C、C++和数据结构的题。多多少少也因此碰了不少壁。不管怎么样,自己还年轻,以前没学好,现在学也不晚。         这一系列博客,我会分别用Java和C实现一些数据结构基本操作以及书中提到的问题。一方面算是巩固Java,另一方面算是重新学习数据结构和C语言吧。         教材:《数 ...

Oracle字符函数

常用的Oracle字符函数: 1.UPPER(字符串|列):转换成大写 2.LOWER(字符串|列):转换成小写 3.INITCAP(字符串|列):首字符大写 4.LENGTH(字符串|列):求字符串长度 5.REPLACE(字符串|列,替换字符串):替换字符串 6.SUBSTR(字符串|列,起始位置,终止位置)或者SUBSTR(字符串|列,起始位置)或者SUBSTR(字符串|列,负数值)截取子串。Oracle中从0和从1开始效果一样。如果设置为负数,则从后往前截取。
1.在Oracle中,使用IN操作符时,如果范围中出现了NULL,则不影响查询结果;如果使用 NOT IN,在范围中出现了NULL,则查询不返回结果。下面通过scott用户下的emp表为例说明:   SELECT * FROM emp WHERE EMPNO IN (7499,7521,NULL);   查询结果如下:        EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO ---------- ---------- --------- ------- ...

Java泛型学习笔记1

    博客分类:
  • Java
      泛型可以解决数据类型的安全问题,其主要方法是在类声明时通过一个标识表示类中的某个属性的类型或者方法返回值及参数的类型。       泛型类的定义格式如下: [访问权限] class 类名称<泛型类型标识1,泛型类型标识2,...,泛型类型标识n> {       [访问权限] 泛型类型标识 变量名;       [访问权限] 泛型类型标识 方法名() {}       [访问权限] 泛型类型标识 方法名(泛型类型标识 变量名) {} }       泛型对象定义格式如下: 类名称<具体类> 对象名称 = new 类名称<具体类>() ...
1.navigator对象     navigator对象是window对象的属性,封装了很多与浏览器相关的信息。该对象主要用来检测用户使用的是什么浏览器。各个浏览器对这个对象的支持差别很大。具体用到检测浏览器时可以上网搜。 2.screen对象     screen对象表示用户的屏幕。screen主要属性如下: 属性 解释 availWidth 屏幕可以使用的宽度 availHeight 屏幕可以使用的高度 colorDepth 屏幕颜色位数,一般是32 width 屏幕宽度 height 屏幕高度   常见的screen用法 ...
location对象既是window对象的属性,又是document对象的属性。它表示当前载入窗口的URL,此外,它还可以解析URL: 解析项目 解释 举例 hash 若URL包含#,该方法将返回#之后的内容 http://www.a.com/index#selection1的hash就是#selection1 host 服务器名 www.wrox.com hostname 通常等于host,有时省略www href 当前载入页面的url pathname URL中主机后面的部分 http://a.com/pics/index ...
Global site tag (gtag.js) - Google Analytics