由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Quant版 - 我愚钝,reverse linked list的code我看不懂,谁给我解释解释
相关主题
问个简单的C++问题【martingale】属性证明
面试题: 怎么判断一个linked list 是不是 circled[合集] 大家帮忙想想一个算法题.
请教用R怎样实现一个binary tree的class有没有什么算法能够输出一个graph的两个nodes之间的所有路径?
请教一个 Stopping Rules in the Binomial Model[合集] 来个C++的题
谁给我些hints如何解这个integral (在线等)[合集] a probability question
[合集] 请问美国国债在未到期前 (转载)问个统计的面试题
asymmetic random walk questions[合集] interview question(programming)
弱问一下猎头[合集] How to model this problem?(probability)
相关话题的讨论汇总
话题: node话题: current话题: next话题: previous话题: null
进入Quant版参与讨论
1 (共1页)
l*******l
发帖数: 248
1
How do you reverse a linked list. Why don’t you use recur-
sion?
Node* reverseLinkedList(Node *base ){
Node* next; Node *current ;
current = base;
node *previous = NULL;
while(current != NULL ) {
next = current->next;
current->next = previous;
previous = current;
current = next;
}
return (previous);
}
l*******l
发帖数: 248
2
我知道有三种方法,最efficent的是把指针方向换一下就可以了,in place省内存。
第二种是,第一个和最后一个换,第二个和倒数第二个换
第三种是把整个list拷贝到新的list上去
这个到底是哪一种???
x********o
发帖数: 519
3
the first one

【在 l*******l 的大作中提到】
: 我知道有三种方法,最efficent的是把指针方向换一下就可以了,in place省内存。
: 第二种是,第一个和最后一个换,第二个和倒数第二个换
: 第三种是把整个list拷贝到新的list上去
: 这个到底是哪一种???

n******m
发帖数: 169
4
这个是标准的算法,你画画图就知道啦。
用三个指针,previous, current, next 记住正在处理的这个node及其前后,这样再行
进过程中就不会迷失。然后一个一个把指向反过来(current->next=previous)。

【在 l*******l 的大作中提到】
: How do you reverse a linked list. Why don’t you use recur-
: sion?
: Node* reverseLinkedList(Node *base ){
: Node* next; Node *current ;
: current = base;
: node *previous = NULL;
: while(current != NULL ) {
: next = current->next;
: current->next = previous;
: previous = current;

n******m
发帖数: 169
5
这段code是把链表的指针一个一个反过来。
你说的第二种,我感觉不适用于链表。这是单向的链表,没法往后退的。就是说你不能
轻易的找到倒数第二个,倒数第三个。。。
第三种可以。

【在 l*******l 的大作中提到】
: 我知道有三种方法,最efficent的是把指针方向换一下就可以了,in place省内存。
: 第二种是,第一个和最后一个换,第二个和倒数第二个换
: 第三种是把整个list拷贝到新的list上去
: 这个到底是哪一种???

l*******l
发帖数: 248
6
第二种可能针对doubly linked list来说的

【在 n******m 的大作中提到】
: 这段code是把链表的指针一个一个反过来。
: 你说的第二种,我感觉不适用于链表。这是单向的链表,没法往后退的。就是说你不能
: 轻易的找到倒数第二个,倒数第三个。。。
: 第三种可以。

C****y
发帖数: 38
7
double的话,直接next和previous对掉不就完了。。

【在 l*******l 的大作中提到】
: 第二种可能针对doubly linked list来说的
r*******y
发帖数: 1081
8
draw a picture.

【在 l*******l 的大作中提到】
: How do you reverse a linked list. Why don’t you use recur-
: sion?
: Node* reverseLinkedList(Node *base ){
: Node* next; Node *current ;
: current = base;
: node *previous = NULL;
: while(current != NULL ) {
: next = current->next;
: current->next = previous;
: previous = current;

1 (共1页)
进入Quant版参与讨论
相关主题
[合集] How to model this problem?(probability)谁给我些hints如何解这个integral (在线等)
如何用binomial tree对one touch option定价[合集] 请问美国国债在未到期前 (转载)
a data structure question (easy level)asymmetic random walk questions
问个关于binomial tree的问题弱问一下猎头
问个简单的C++问题【martingale】属性证明
面试题: 怎么判断一个linked list 是不是 circled[合集] 大家帮忙想想一个算法题.
请教用R怎样实现一个binary tree的class有没有什么算法能够输出一个graph的两个nodes之间的所有路径?
请教一个 Stopping Rules in the Binomial Model[合集] 来个C++的题
相关话题的讨论汇总
话题: node话题: current话题: next话题: previous话题: null