[algogeeks] Re: Write a C program to sort a stack in ascending order.

2010-09-11 Thread Srinivas
reverse(stack *s){ IsEmpty(s) return; top = pop(s); reverse(s); ascending(s, top); } ascending(stack *s, int top){ IsEmpty(s){ push(top); return; } i = pop(s); if(i top){ ascending(s, top); push(i); } else{ ascending(s, i); push(top);

Re: [algogeeks] Re: Write a C program to sort a stack in ascending order.

2010-09-11 Thread ashita dadlani
else{ ascending(s, i); push(top); } } @swinivas:why have you used ascending(s,i) here? On Sat, Sep 11, 2010 at 6:40 PM, Srinivas lavudyasrinivas0...@gmail.comwrote: reverse(stack *s){ IsEmpty(s) return; top = pop(s); reverse(s); ascending(s, top); } ascending(stack

[algogeeks] Re: Write a C program to sort a stack in ascending order.

2010-09-11 Thread Srinivas
yeah no use of ascending(s,i) here... thanks ashita for the correction reverse(stack *s){ IsEmpty(s) return; top = pop(s); reverse(s); ascending(s, top); } ascending(stack *s, int top){ IsEmpty(s){ push(top); return; } i = pop(s); if(i top){

Re: [algogeeks] Re: Write a C program to sort a stack in ascending order.

2010-09-11 Thread ashita dadlani
@Srinivas: shouldn't it be: i = pop(s); if(i top){ ascending(s, i); push(top); } else{ ascending(s, top); push(i); } On Sat, Sep 11, 2010 at 6:52 PM, ashita dadlani ash@gmail.com wrote: else{ ascending(s, i); push(top); } } @swinivas:why have you used

Re: [algogeeks] Re: Write a C program to sort a stack in ascending order.

2010-09-11 Thread ashita dadlani
@Srinivas: Sorry for the confusion. But if we have a stack {5,8,3,4,2} with 5 as the last input,ie,top, do we have to arrange the stack such that s={2,3,4,5,8}with 2 as the top? if I am getting it correct,then shouldn't your algo be modified slightly as follows:? reverse(stack *s){ IsEmpty(s)

[algogeeks] Re: Write a C program to sort a stack in ascending order.

2010-09-11 Thread Srinivas
yeah thanks ashita...u r right.. reverse(stack *s){ IsEmpty(s) return; top = pop(s); reverse(s); ascending(s, top); } ascending(stack *s, int top){ IsEmpty(s){ push(top); return; } i = pop(s); if(i top){ ascending(s, top); push(i); } else{

[algogeeks] Re: Write a C program to sort a stack in ascending order.

2010-07-17 Thread xyombie
What about a quick sort O(log n) void sort_stack(Stack *src, Stack *dst) { if(! src-IsEmpty() ) { Stack smaller, larger; int pivot = src-Pop(); while(! src-IsEmpty() ) { int tmp = src-Pop();