avatar
l*l
1
俺在 JOBHUNTING 做的一道题, 不知是否正确, 请大虾验证!
Design an efficient algorithm to sort elements in a stack in either
ascending/descending order, using only pop(), top(), push(), isEmpty(),
isFull(). Do not use any auxiliary stacks or arrays.
How about this?
avatar
l*l
2
俺优化以下:
void sort(stack &s, int numSorted)
{
element *e1;
element *e2;
if (s.size() <= 1+numSorted) {
return;
}
e1 = s.pop();
if(e1 < s.top()) {
e2 = s.pop();
s.push(e1);
sort(s);
s.push(e2);
} else {
sort(s);
s.push(e1);
}
}

【在 l*****l 的大作中提到】
: 俺在 JOBHUNTING 做的一道题, 不知是否正确, 请大虾验证!
: Design an efficient algorithm to sort elements in a stack in either
: ascending/descending order, using only pop(), top(), push(), isEmpty(),
: isFull(). Do not use any auxiliary stacks or arrays.
: How about this?

avatar
q*c
3
这个是 meaningless...用的内存比全部新开 array 多,
效率低下, 不知道这题目为啥。而且 sort(stack)
函数也没定义, 不知道咋运行。
这个题目一定要多余的内存,否则罪底下那个元素无法出来。

【在 l*****l 的大作中提到】
: 俺优化以下:
: void sort(stack &s, int numSorted)
: {
: element *e1;
: element *e2;
: if (s.size() <= 1+numSorted) {
: return;
: }
: e1 = s.pop();
: if(e1 < s.top()) {

avatar
c*t
4
the only minor problem i see is that size () is not provided.

【在 l*****l 的大作中提到】
: 俺在 JOBHUNTING 做的一道题, 不知是否正确, 请大虾验证!
: Design an efficient algorithm to sort elements in a stack in either
: ascending/descending order, using only pop(), top(), push(), isEmpty(),
: isFull(). Do not use any auxiliary stacks or arrays.
: How about this?

avatar
l*l
5
I think I can use isEmpty()/isFull():)

【在 c*****t 的大作中提到】
: the only minor problem i see is that size () is not provided.
avatar
P*f
6
多余内存在递归的程序stack上
所以这个题有点好玩:不能用辅助栈,但是可以用程序调用的栈
嘿嘿

这个是 meaningless...用的内存比全部新开 array 多,
效率低下, 不知道这题目为啥。而且 sort(stack)
函数也没定义, 不知道咋运行。
这个题目一定要多余的内存,否则罪底下那个元素无法出来。

【在 q*c 的大作中提到】
: 这个是 meaningless...用的内存比全部新开 array 多,
: 效率低下, 不知道这题目为啥。而且 sort(stack)
: 函数也没定义, 不知道咋运行。
: 这个题目一定要多余的内存,否则罪底下那个元素无法出来。

avatar
l*l
7
这个也就是面世题, 没有实际意义. 如果有N个数, 要做N层RECURSION.
N必须很小才行.

【在 P*****f 的大作中提到】
: 多余内存在递归的程序stack上
: 所以这个题有点好玩:不能用辅助栈,但是可以用程序调用的栈
: 嘿嘿
:
: 这个是 meaningless...用的内存比全部新开 array 多,
: 效率低下, 不知道这题目为啥。而且 sort(stack)
: 函数也没定义, 不知道咋运行。
: 这个题目一定要多余的内存,否则罪底下那个元素无法出来。

avatar
s*d
8
让人想起武林外传里的六扇门测试题。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。