If the length of the linked is infinite then the above algo would do the needful. In case you have a finite length linked list, then you can normalize the random value using following: Suppose length of linked list is: l random number is: r; and r > l then new random number would be: r1 = r%l; now again use the above algo using new random number r1;
On Thu, Dec 27, 2012 at 4:12 PM, Vineeth <vineeth.n...@gmail.com> wrote: > You said : "Given a linked list of infinite length" > > On Thu, Dec 27, 2012 at 4:06 PM, naveen shukla > <naveenshuklasweetdrea...@gmail.com> wrote: >> But suppose a random number generate a value 5 and your linked list has only >> four elements. In that case what would be the answer ??? >> >> >> On Thu, Dec 27, 2012 at 4:03 PM, Prem Krishna Chettri <hprem...@gmail.com> >> wrote: >>> >>> Well my algo will be Something like this >>> >>> 1> Get a Random number. Perhaps You can have the function like Randon(List >>> *head, int Randomnumber) >>> >>> 2> Use the function argument Randomnumber to loop the list. >>> i.e. for(int count=0;count<=Randomnumber;count++ ){ >>> head = head -> next; >>> } >>> >>> 3> print (head->value); >>> >>> 4> return ; >>> >>> Now as we are using byvalue when we return the value of head remains the >>> same old head value. So everytime we call we are traversing the same old >>> list. >>> >>> The Random variable can be taken inside the function itself if the user >>> is not taking the random value. >>> i.e. int Randomnumber = random(); and now the user can calll Simple >>> Random(head); >>> >>> >>> >>> On Thu, Dec 27, 2012 at 3:31 PM, naveen shukla >>> <naveenshuklasweetdrea...@gmail.com> wrote: >>>> >>>> random node >>> >>> >>> -- >>> >>> >> >> >> >> >> -- >> With Best Wishes >> >> From: >> >> Naveen Shukla >> IIIT Allahabad >> B.Tech IT 4th year >> Mob No: 07860896972 >> E-mail naveenshuklasweetdrea...@gmail.com >> >> -- >> >> > > -- > > -- Udit Agarwal B.Tech. ( Information Technology ) , 7th Semester, Indian Institute of Information Technology Allahabad - 211012, India Email : uditii...@gmail.com Mobile: +91-9411656264 --