void ArrayShifting(int *str, int size) { int odd=1, even=0; while(odd < size) { int position; if(str[even]!=0) { position = even+1; while(position < size) { if(str[position]==0) { str[position]=1;str[even]=0;break;} position = position+2; } } even = even+2; if(str[odd]!=1) { position = odd+1; while(position < size) { if(str[k]==0) { str[position]=0;str[odd]=1;break;} position = position+2; } } odd=odd+2; } }
This code seems working for me, If you agree then we can work on measuring the complexity & improving the code accordingly. On Thu, Aug 19, 2010 at 5:27 PM, Ashutosh Tamhankar <asshuto...@gmail.com>wrote: > Hi Amit > > Am I allowed to keep counters to count the number of 1's and 0s right? > > The condition of not using extra memory is for the array!? > > Regards > Ashutosh > > > 2010/8/18 amit <amitjaspal...@gmail.com> > > you are given an array of integers containing only 0s and 1s. you have >> to place all the 0s in even position and 1s in odd position and if >> suppose no if 0s exceed no. of 1s or vice versa then keep them >> untouched. Do that in ONE PASS and WITHOUT taking EXTRA MEMORY. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Algorithm Geeks" group. >> To post to this group, send email to algoge...@googlegroups.com. >> To unsubscribe from this group, send email to >> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com> >> . >> For more options, visit this group at >> http://groups.google.com/group/algogeeks?hl=en. >> >> > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algoge...@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algoge...@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.