- 浏览: 115326 次
- 来自: 广州
最新评论
-
听听米:
在删除的时候最后一个元素并没有移除掉
线性表的顺序存储结构(java版) -
chenchuangfeng:
不错不错
栈的顺序存储结构(C语言版) -
hjj20040849:
lenient315 写道那个。。。我想说,java语言对对象 ...
java值传递以及引用传递 -
lenient315:
那个。。。我想说,java语言对对象采用的不是引用调用,实际上 ...
java值传递以及引用传递 -
hjj20040849:
feipigzi 写道feipigzi 写道我记得第一天看ja ...
java继承中的一些 错误认识
文章列表
Java
1. Java基础类型总结
2. Java数组及其内存分配
3. String, StringBuilder, StringBuffer类型的总结
1) Java对象创建方式及JVM对字符串处理
2) 小学徒成长系列—String关键源码解析
3) 小学徒进阶系列—JVM对String的处理
4) 小学徒成长系列—StringBuilder & StringBuffer关键源码解析
4.线程
1) 小学徒成长系列—线程
本人的博客已经迁移至博客园,http://www.cnblogs.com/xiaoxuetu/ ,大家如果有兴趣的话可以去看看,呵呵
关于快速排序,其实它跟冒泡排序一样,也是一种交换排序算法,但是他比冒泡排序快速的多,减少了比较次数和移动交换次数,是冒泡排序的升级。
下面先讲一些必要的定义吧:
快速排序的基本思想是: 通过一趟排序将带排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录进行排序,以达到整个序列的目的。
枢轴:通过Partition函数,先选取当中的一个关键字,然后想尽办法把它放到一个i额位置,使得他左边的值都比它小,右边的值都比它大,我们将这样的关键字称为枢轴。
直接上代码:
#include<stdio.h>
# ...
关于冒泡排序,相信大家无论学习哪种学习语言,在学到循环和数组的时候肯定都会接触到这个最基本的排序算法。为什么这种算法要叫做冒泡排序呢?是因为这个排序算法有点像水泡向上冒,所以叫做冒泡排序。
冒泡排 ...
我在准备的过程中,发现很多笔试题和面试的时候,都是用C语言来描述的,而且现在我的一些没有Java基础的师弟正在开始学习数据结构,所以为了方便他们也方便自己还是下定决心用C语言进行数据结构的代码实现,毕竟所有的语言都是相通的,学起来并不难,更何况我大一的时候学过呢,所以在此向一些希望看到我的Java版本实现的朋友道个歉。
栈的定义:限定仅在表尾进行插入和删除操作的线性表,我们把允许插入和删除的一端称为栈顶,另一端称为栈底,不含任何数据元素的栈成为空栈,栈又称为先进后出的线性表。
有些初学者看不懂什么叫做顺序存储结构和链式存储结构,下面就补充一下他的定义
顺序存储结构 的定义: ...
在前面,我们已经讲了线性表的顺序存储结构(java版) ,我们也知道了他的代码实现,在了解之后,我们很容易就能够发现他有一个最大的缺点,就是插入和删除需要移动大量的元素,这显然是很耗费时间的,于是,为了解决这个问题,就出现了链式存储结构。
我学习的时候是看程杰的《大话数据结构》的,同时结合我们的经典教材清华出版社的《数据结构》,但是在学习过程中,我不小心把“插入到第i个位置之后”理解成了“插入到第i个位置”,所以我后面的程序跟书上的范例有些不一样,但是万变不离其宗,它运用的始终是我们的数据结构——线性表的链式存储结构。
由于理解错了课本的一些意思,所以代码显得更复杂了一点点,好 ...
在说线性表的顺序存储结构之前,首先要讲一下必要的定义。
线性表的定义 :零个或多个数据元素的有限序列
线性表的顺序存储结构 :用一段地址连续的存储单元依次存储线性表的数据元素。
在了解这两个必要的定义 ...
对于下面两个程序,相信学过java的朋友都很容易看得懂。
TestOne.java
package test;
public class TestOne {
public static void name(int x){
x++;
}
public static void main(String[] args) {
int x = 0 ;
name(x);
System.out.println("------>x的值为: " + x);
}
}
------> ...
关于继承,我想大多数人都知道,它是面向对象语言中的三大特性之一,所以在这里,关于继承的概念等我就不做详细介绍了,我主要就讲一下大家对他的认识中一些比较容易犯的错误吧。
错误认识1、继承,是将父类中所有的属性和方法都继承下来。
其实这个认识是错误的,继承,并不是将父类中所有的属性和方法都继承下来,而是只继承父类中公有的属性和方法,对于私有的(即是private)属性,我们可以通过对应的getter和setter方法来对其进行修改。对于私有的方法,我们可以通过其它公共的方法来对其进行调用。
下面是一个例子,大家可以运行来学习验证一下。
Person.java
...
1.postMessage()方法
在Javascript中,出于代码安全性的考虑,不允许跨域访问其他页面中的元素,这个不同区域的页面数据互访带来障碍。而在HTML5中,可以利用对象的postMessage方法,在两个不同域名与端口的页面之间,实现数据的接收与发送功能。
要实现跨域页面间的数据互访,需要调用对象的POSTMessage方法,其调用格式如下:
otherWindow.postMessage(Message, targetOrigin);
其中,
otherWindow为接收数据的页面的引用对象 ...
在上传文件的时候,需要限制指定的文件类型,accept这个属性,只在FF和chrome中有效。那么accept能限制哪些文件呢?见下表。
扩展名
MIME
描述
*.3gpp
audio/3gpp, video/3gpp
3GPP Audio/Video
*.ac3
audio/ac3
AC3 Audio
*.asf
allpication/vnd.ms-asf
Advanced Streaming Format
*.au
audio/basic
AU Audio
*.css
text/css
Cascading ...
现在,HTML5BOM允许在客户端实现较大规模的数据存储,用户可以使用web存储,也可以使用web sql数据库,这两项新增功能为浏览器成为应用程序开发平台奠定了坚持的数据操作基础。
Web存储机制是一中通过字符串形式的key/value对 ...
javascript其实也是一种面向对象编程语言,他同样可以实现面向对象语言的三大特性------封装,继承,多态。封装我想大家都知道了,在这里我们重点讲一下javascript的继承。
1、怎么用javascript编写一个类
(1)目前,很多面向对象语言都定义了class来定义一个类,但是javascript并没有,那么我们应该怎么去用它来编写一个类呢?
其实我们简单的是使用function就可以啦。下面给一个例子,我想大家看后就会明白的啦。在实例中学习嘛,哈哈。
function Person(){ //定义一个Person类
this.name;
...
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
下面就是我的学习笔记,对于Javascript初学者应该是很有用的。
一、变量的作用域
要理解闭包,首先必须理解Javascript特殊的变 ...
本文是为了让一些初学者在不了解的情况下能够更好的运用和使用pototype,关于原型的东西后面会讲,所以如果有什么好建议可以在此留言提出,谢谢合作。
除了在类的构造器方法中定义属性和方法以外,我们还可以在构造器方法外使用prototype定义方法和属性。每个类都有prototype属性,该属性是一个静态属性,因此无需实例化,只需使用类引用该属性即可。
当然这里说的静态属性不是像java里面的static那样在第一次初始化后他就存在,然后每个实例调用的都是同一个那样子,换句话说,prototype的作用之一就是在构造器方法外定义方法和属性,从而使代码能够更好的复用。
下面举一个实例来说 ...