- 博客(15)
- 收藏
- 关注
转载 头插法和尾插法创建单链表
头插法[cpp] view plaincopy//随机产生n个元素的值,建立代表头结点的单链线性表L(头插法) void CreateListHead(LinkList * L,int n) { LinkList p; int i; srand(time(0)); //随机产生数 *
2013-09-21 11:46:41 1300
转载 new与malloc区别
new 是一个操作符,可以重载 malloc是一个函数,可以覆盖 new 初始化对象,调用对象的构造函数,对应的delete调用相应的析构函数 malloc仅仅分配内存,free仅仅回收内存
2013-09-21 11:40:32 525
转载 C++深拷贝与浅拷贝
C++中对象的复制就如同“克隆”,用一个已有的对象快速地复制出多个完全相同的对象。一般而言,以下三种情况都会使用到对象的复制:(1)建立一个新对象,并用另一个同类的已有对象对新对象进行初始化,例如:[cpp] view plaincopyclass Rect { private: int width; int height; };
2013-09-21 11:24:42 414
转载 深拷贝与浅拷贝
1.深拷贝是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响。举个例子,一个人名叫张三,后来用他克隆(假设法律允许)了另外一个人,叫李四,不管是张三缺胳膊少腿还是李四缺胳膊少腿都不会影响另外一个人。比较典型的就是Value(值)对象,如预定义类型Int32,Double,以及结构(struct),枚举(Enum)等。考虑以下写法 int sou
2013-09-21 11:22:27 420
转载 JAVA数据结构
JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口
2013-09-21 10:55:12 372
转载 抽象类和接口
抽象类与普通类的唯一区别:1.不能创建实例对象;2.允许有抽象方法。接口可以继承接口,抽象类可以实现接口,可以继承具体类,可以有静态的main方法。
2013-09-19 17:20:31 594
转载 Overload和Override
1.Overload重载同一个类中有多个名称相同的方法,但参数列表各不相同(参数个数、顺序或类型不同);不可以通过返回值、访问权限和抛出的异常不同实现重载;2.Override重写子类方法和父类中的某个方法的名称和参数完全相同,子类创建的实例对象调用该方法调用的是子类定义的方法。子类重写父类的方法时只能比父类抛出更少的异常,或父类异常的子异常,因为子类解决父类的一些问题
2013-09-19 17:07:00 417
转载 静态变量和实例变量
1.静态变量前需要加static关键字,而实例变量前不用加。2.静态变量不属于实例对象而是属于类,也称为类变量。只要程序加载了类的字节码,不用创建任何实例对象就会被分配空间,就可以被使用了; 实例变量属于某个对象,必须创建了实例对象才会被分配空间,才能使用这个实例变量。
2013-09-19 14:14:55 420
转载 ==与equals方法
1.==用来比较两个变量的值是否相等即对应内存中所存储的数值是否相同。用于比较两个基本类型的数据或引用变量是否相等。如果一个变量指向的数据是对象类型,则涉及两块内存,变量占用的栈内存和对象本身占用的堆内存。比较两个变量是否指向同一个对象,要看这两个变量所对应的内存中的数值是否相等,用==比较。2.equals方法用于比较两个独立对象的内容是否相同。String a = ne
2013-09-19 10:35:30 480
原创 线性表链式存储
1.访问:...................................O(n)for (t=head; i!=0; t=t->next) i--;return t->item;2.插入:insert(x, y, t)............O(1)t->next = y; x->next = t;3.删除:remove(x, y)...........O(1)
2013-09-19 09:55:46 444
原创 线性表顺序存储
1.访问:A[i] .................................O(1)2.插入:insert(i, item)................O(n)for(j=n-1; j>=i; j--) A[j+1] = A[j];A[i] = item;3.删除:remove(i)......................O(n)for(; i
2013-09-19 09:29:15 512
转载 final关键字修饰变量是引用不能变
final修饰一个变量时,引用不能变,引用变量所指向的对象中的内容可以变。final StringBuffer a = new StringBuffer("abc");a = new StringBuffer("");//编译错误a.append("ddd");//编译成功因此定义方法参数时不能通过final阻止方法内部修改传进来的参数对象public void met
2013-09-18 23:54:17 959
转载 short s1=1;s1 = s1+1;与s1 += 1;
short s1=1;s1 = s1+1;其中s1+1会提升表达式类型为int,会报强制类型转换错误short s1=1;s1 += 1;其中+=是java规定的运算符,有特殊处理,可以正确编译
2013-09-18 23:25:21 878
转载 switch语句作用的类型
switch只能作用于整数表达式或者枚举常量。整数表达式可以是int基本类型或Integer包装类型,byte,short,char可以隐式转为int;long和String不能作用于switch语句中。
2013-09-18 23:20:21 1128
转载 &与&&区别
共同点:都可以用作逻辑与不同点:1.&&具有短路功能;2.&可以用作位运算符,当两边的表达式不是布尔类型时if(str != null && !str.equals("")),当str为null时,不会报空指针异常;if(str != null & !str.equals("")),则会报空指针异常,因为用null调用了方法
2013-09-18 23:00:18 507
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人