copy 链表
来源:互联网 发布:unity ugui源码 编辑:程序博客网 时间:2024/06/05 11:33
2,算法题
struct Node{
Node* next;
Node* rand;//rand 指向rand_list中随机的一个Node
void* data;
} rand_list;
实现 void copy( Node** to, Node* from);
如果不用辅存,怎么实现?
--
发信站: 北邮人论坛 (Tue Apr 26 10:49:11 2011), 站内
struct Node{
Node* next;
Node* rand;//rand 指向rand_list中随机的一个Node
void* data;
} rand_list;
void copy( Node** to, Node* from)
{
Node *p, *np, *next;
if (from == NULL) {
*to = NULL;
return;
}
// 第一遍:建链,新旧节点交替形成新的单链表
p = from;
while (p) {
next = p->next;
np = new Node;
np->data = p->data;
np->next = next;
p->next = np;
p = next;
}
// 第二遍:赋值,给新节点的随机指针赋值
p = from;
while (p) {
p->next->rand = p->rand->next;
p = p->next->next;
}
// 第三遍:还原,由一条单链表还原新旧两条单链表
*to = from->next;
p = from;
np = *to;
p->next = np->next;
p = np->next;
while (p) {
np->next = p->next;
np = np->next;
p->next = np->next;
p = np->next;
}
}
- copy 链表
- copy
- copy
- copy
- copy.
- copy
- copy
- copy
- copy
- copy
- copy
- Copy
- copy
- copy
- copy
- copy
- copy
- copy
- eclipse中即时查看帮助
- 一个超简单的ring3与ring0通信的例子
- rmmod: chdir(/lib/modules): No such file or directory?
- [ZZ]翻译chromium开发文档之-Inter-process Communication,进程间通信
- sqlserver卸载问题--删除不干净!
- copy 链表
- Information Retrieving
- Httponly And Secure
- 踏入CSDN的舞台!给自己的事业打上patch!
- 关闭文件指针不对
- python一些问题
- 链表怎么判断是否相交
- Windows环境下MantisBT的架设(兼WampServer安装)
- 从 C++ 到 Objective-C(6):类和对象(续三)