for(i=1; i<=n; i++) { p= calc_m1(i)*calc_m2(i) + calc_m1(i)/2; if((p<i && a[p]<a)|| (p>i && a[p]>a)) continue; j=i; while(p!=i) { temp = a[j]; a[j] = a[p]; a[p] = temp; p = calc_m1(p)*calc_m2(p) + calc_m1(p)/2; } }
Isnt this constant space (assuming that the array a is given already). Since calc_m1 and calc_m2 are non recursive? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/algogeeks -~----------~----~----~----~------~----~------~--~---