本文中的双向链表,具有一个首指针h,但没有尾指针,不是循环链表。链表反转时,要做两件事情,一是将数据部分的pre指针和next指针交换值;二是将h指针指向反转后的头数据节点指针,并将新链表的尾数据节点指针的next(即原链表头数据指针的next)置空。 上代码: DLinkedNode.h #ifn...
分类:
其他好文 时间:
2015-10-10 00:20:38
阅读次数:
219
下载地址:链接:http://pan.baidu.com/s/1pJIcGm3密码: s83p
分类:
移动开发 时间:
2015-08-21 10:51:57
阅读次数:
157
关于JAVA的值传递和引用传递,翻看了很多资料和博客,感觉大多数讲的很乱,都是自己明白了之后就不讲了的样子,终于算是比较理解这几个概念了,下面做一个总结。
1、简单类型的参数传递
Java方法的参数是简单类型的时候,是按值传递的 (pass by value)。下面举一个经典的swap函数:
无法交换值的方法:
package TestTransferPack;
public c...
分类:
编程语言 时间:
2015-08-17 17:21:02
阅读次数:
169
一个常用函数,被整理出来,免得每次 都要写参数返回值解析:参数: *a:int*,需要交换值的第一个变量; *b:int*,需要交换值的第二个变量;返回值: (无)函数解析: swap(&a,&b);//引用方式’&’是取地址符,没有指针基础不建议使用1 void swap(int *a,int *...
分类:
移动开发 时间:
2015-07-26 17:02:46
阅读次数:
141
题目链接:UVA - 103题意:现有k个箱子,每个箱子可以用n维向量表示。如果一个箱子的n维向量均比另一个箱子的n维向量大,那么它们可以套接在一起,每个箱子的n维向量可以互相交换值,如箱子(2,6)可以和箱子(7,3)套接在一起。求出套接的箱子最多的个数前提下任意一种解决方案。算法:抛开n维不看,...
分类:
其他好文 时间:
2015-04-26 12:06:42
阅读次数:
132
实现交换int a,b的值的函数,C++可以采用引用或指针传递的方法,当Java不行;
因为Java的参数传递机制与C++不同(http://blog.csdn.net/woliuyunyicai/article/details/44096043),
如下方法均不能够实现:
public void swap(int x, int y)
{
int temp = x;...
分类:
编程语言 时间:
2015-04-23 09:36:25
阅读次数:
190
最初 int?x?=?10;
int?y?=?5;
int?tmp;
tmp?=?x;
x?=?y;
y?=?tmp;
System.out.println("x:?"?+?x?+?"?y:?"?+?y); 以下的几种方法觉得有些新鲜: 第一种:利用加减法交换值.(对于Integer.M...
分类:
编程语言 时间:
2015-04-03 11:42:23
阅读次数:
171
第一种方法,大家会借助第三个变量来实现:如:C=A;A=B;B=C;这种方法需要借助第三变量来实现;第二种方法是利用加减法实现两个变量的交换,如:A=A+B;B=A-B;A=A-B;第三种方法是得用位异或运算来实现,也是效率最高的一种,在大量数据交换的时候,效率明显优于前两种方法,如:A=A^B;B...
分类:
其他好文 时间:
2015-03-19 21:49:37
阅读次数:
120
交换 int a, int b: | 交换 int *p, int *q 的地址 void ( int *a, int *b) | void...
分类:
其他好文 时间:
2015-03-15 16:49:32
阅读次数:
115
交换两个变量(a和b)的值,最简单的办法是另定义一个变量(c),将a赋给c,然后调换。下面给出几种不使用第三个变量的办法:1.利用运算交换两个变量值a = b - a;b = b - a;a = b + a;2.位运算通过异或运算来交换值a=a^b; b=a^b; a=a^b;3.交换指针地址
分类:
其他好文 时间:
2015-03-10 18:52:32
阅读次数:
100