Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #14844

Re: code snippet

From 88888 Dihedral <dihedral88888@googlemail.com>
Newsgroups comp.lang.c
Subject Re: code snippet
Date 2011-12-21 16:35 -0800
Organization http://groups.google.com
Message-ID <28271069.79.1324514157943.JavaMail.geo-discussion-forums@prdv33> (permalink)
References (7 earlier) <jconhp$36f$1@speranza.aioe.org> <4ef0f53d$0$19133$bbae4d71@news.suddenlink.net> <jcspf0$8md$1@speranza.aioe.org> <8589915.363.1324479784976.JavaMail.geo-discussion-forums@prht13> <0.4b8c1cc5fedd08ec9708.20111221214133GMT.87r4zxmwky.fsf@bsb.me.uk>

Show all headers | View raw


On Thursday, December 22, 2011 5:41:33 AM UTC+8, Ben Bacarisse wrote:
> 88888 Dihedral <dihedr...@googlemail.com> writes:
> 
> >  int binsearch ( int a[], int length, int key)
> > {
> > register int lo=0;
> > register int hi=length-1; 
> > register int gap=hi-lo; 
> > register mid=lo+ (gap>>1); 
> 
> Implicit int was removed from C99.  Even if you prefer the older
> standard it's not a very good idea to use it.
> 
> > //
> >
> >  while(gap) // gap==0 then lo==hi==mid
> > {
> >  if (key== a[mid] ) { return mid;}
> > else if (key >a[mid]) { lo=mid;}
> > else { hi=mid; }
> >
> > gap= hi-lo; mid=lo+(gap>>1); 
> >
> > }
> 
> Your loop is not guaranteed to terminate.
> 
> > //gap ==0 
> > if (key==a[hi]) return hi; else return -1;
> >
> > //return the 32 bit or 64 bit integer 
> >
> > }
> 
> -- 
> Ben.

Add gap>1 in the while

and else if  (key==a[lo]) return lo; // outside the loop

What else can you suggest?

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

code snippet "Bill Cunningham" <nospam@nspam.invalid> - 2011-12-18 20:51 -0500
  Re: code snippet Geoff <geoff@invalid.invalid> - 2011-12-18 18:29 -0800
    Re: code snippet "Bill Cunningham" <nospam@nspam.invalid> - 2011-12-18 21:51 -0500
      Re: code snippet "Bill Cunningham" <nospam@nspam.invalid> - 2011-12-18 22:24 -0500
        Re: code snippet Geoff <geoff@invalid.invalid> - 2011-12-18 19:53 -0800
          Re: code snippet "Bill Cunningham" <nospam@nspam.invalid> - 2011-12-18 23:32 -0500
            Re: code snippet Geoff <geoff@invalid.invalid> - 2011-12-18 20:57 -0800
              Re: code snippet "Bill Cunningham" <nospam@nspam.invalid> - 2011-12-19 00:01 -0500
                Re: code snippet Geoff <geoff@invalid.invalid> - 2011-12-18 21:13 -0800
                Re: code snippet "Bill Cunningham" <nospam@nspam.invalid> - 2011-12-19 16:42 -0500
      Re: code snippet Keith Thompson <kst-u@mib.org> - 2011-12-18 20:14 -0800
        Re: code snippet "Bill Cunningham" <nospam@nspam.invalid> - 2011-12-18 23:27 -0500
      Re: code snippet Rui Maciel <rui.maciel@gmail.com> - 2011-12-19 12:33 +0000
        Re: code snippet "Bill Cunningham" <nospam@nspam.invalid> - 2011-12-19 16:33 -0500
          Re: code snippet Rui Maciel <rui.maciel@gmail.com> - 2011-12-20 00:20 +0000
            Re: code snippet "Bill Cunningham" <nospam@nspam.invalid> - 2011-12-19 19:46 -0500
              Re: code snippet Rui Maciel <rui.maciel@gmail.com> - 2011-12-20 01:14 +0000
                Re: code snippet "Bill Cunningham" <nospam@nspam.invalid> - 2011-12-20 15:51 -0500
                Re: code snippet Rui Maciel <rui.maciel@gmail.com> - 2011-12-21 14:11 +0000
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-21 07:03 -0800
                Re: code snippet Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-12-21 21:41 +0000
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-21 16:35 -0800
                Re: code snippet Seebs <usenet-nospam@seebs.net> - 2011-12-22 01:03 +0000
                Re: code snippet Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-12-22 03:19 +0000
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-22 07:11 -0800
                Re: code snippet Seebs <usenet-nospam@seebs.net> - 2011-12-22 16:59 +0000
                Re: code snippet "io_x" <a@b.c.invalid> - 2011-12-22 18:38 +0100
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-22 10:40 -0800
                Re: code snippet Markus Wichmann <nullplan@gmx.net> - 2011-12-22 19:12 +0100
                Re: code snippet Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-12-28 03:50 -0800
                Re: code snippet "io_x" <a@b.c.invalid> - 2011-12-28 17:06 +0100
                Re: code snippet "io_x" <a@b.c.invalid> - 2012-01-01 20:04 +0100
                Re: code snippet Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-01-01 12:38 -0800
                Re: code snippet "io_x" <a@b.c.invalid> - 2012-01-02 10:14 +0100
                Re: code snippet Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-01-03 04:56 -0800
                Re: code snippet "io_x" <a@b.c.invalid> - 2012-01-03 18:26 +0100
                Re: code snippet Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-01-04 00:09 -0800
                Re: code snippet Ian Collins <ian-news@hotmail.com> - 2012-01-04 21:53 +1300
                Re: code snippet "io_x" <a@b.c.invalid> - 2012-01-04 16:14 +0100
                Re: code snippet Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-01-01 12:28 -0800
                Re: code snippet "io_x" <a@b.c.invalid> - 2012-01-02 10:18 +0100
                Re: code snippet Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-01-03 04:56 -0800
                Re: code snippet "BartC" <bc@freeuk.com> - 2011-12-22 18:05 +0000
                Re: code snippet Seebs <usenet-nospam@seebs.net> - 2011-12-22 18:14 +0000
                Re: code snippet superpollo <superpollo@tznvy.pbz> - 2011-12-22 20:00 +0100
                Re: code snippet Seebs <usenet-nospam@seebs.net> - 2011-12-22 19:08 +0000
                Re: code snippet superpollo <superpollo@tznvy.pbz> - 2011-12-22 22:43 +0100
                Re: code snippet Seebs <usenet-nospam@seebs.net> - 2011-12-22 21:57 +0000
                Re: code snippet BruceS <bruces42@hotmail.com> - 2011-12-23 16:26 -0800
                Re: code snippet Rui Maciel <rui.maciel@gmail.com> - 2011-12-22 19:21 +0000
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-22 11:33 -0800
                Re: code snippet "io_x" <a@b.c.invalid> - 2011-12-23 09:10 +0100
                Re: code snippet Rui Maciel <rui.maciel@gmail.com> - 2011-12-23 14:43 +0000
                Re: code snippet Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-12-23 17:14 +0000
                Re: code snippet Keith Thompson <kst-u@mib.org> - 2011-12-23 12:10 -0800
                Re: code snippet Walter Banks <walter@bytecraft.com> - 2012-01-03 14:24 -0500
                Re: code snippet Kaz Kylheku <kaz@kylheku.com> - 2012-01-03 19:58 +0000
                Re: code snippet Walter Banks <walter@bytecraft.com> - 2012-01-03 16:15 -0500
                Re: code snippet blp@cs.stanford.edu (Ben Pfaff) - 2012-01-03 13:26 -0800
                Re: code snippet Kaz Kylheku <kaz@kylheku.com> - 2012-01-03 22:04 +0000
                Re: code snippet Ian Collins <ian-news@hotmail.com> - 2012-01-04 15:44 +1300
                Re: code snippet "BartC" <bc@freeuk.com> - 2012-01-04 23:34 +0000
                Re: code snippet James Harris <james.harris.1@googlemail.com> - 2012-01-04 15:57 -0800
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2012-01-05 23:34 -0800
                Re: code snippet Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-01-06 00:40 -0800
                Re: code snippet Kleuske <kleuske@nowhere.net> - 2012-01-06 10:33 +0000
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2012-01-06 04:30 -0800
                Re: code snippet Ian Collins <ian-news@hotmail.com> - 2012-01-04 15:37 +1300
                Re: code snippet Kaz Kylheku <kaz@kylheku.com> - 2012-01-04 03:37 +0000
                Re: code snippet Ian Collins <ian-news@hotmail.com> - 2012-01-04 20:23 +1300
                Re: code snippet jacob navia <jacob@spamsink.net> - 2011-12-22 18:26 +0100
                Re: code snippet Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-12-22 19:34 +0000
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-22 11:57 -0800
                Re: code snippet Seebs <usenet-nospam@seebs.net> - 2011-12-22 20:18 +0000
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-22 12:52 -0800
                Re: code snippet Seebs <usenet-nospam@seebs.net> - 2011-12-22 20:37 +0000
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-22 13:27 -0800
                Re: code snippet Seebs <usenet-nospam@seebs.net> - 2011-12-22 21:57 +0000
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-22 14:09 -0800
                Re: code snippet Seebs <usenet-nospam@seebs.net> - 2011-12-22 21:57 +0000
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-23 04:01 -0800
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-22 14:24 -0800
                Re: code snippet Seebs <usenet-nospam@seebs.net> - 2011-12-22 21:57 +0000
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2012-01-01 23:06 -0800
                Re: code snippet Hans Vlems <hvlems@freenet.de> - 2011-12-22 23:35 -0800
                Re: code snippet "BartC" <bc@freeuk.com> - 2011-12-23 12:26 +0000
                Re: code snippet jacob navia <jacob@spamsink.net> - 2011-12-23 18:32 +0100
                Re: code snippet Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-12-28 04:04 -0800
                Re: code snippet "io_x" <a@b.c.invalid> - 2011-12-23 09:10 +0100
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-25 11:13 -0800
                Re: code snippet Seebs <usenet-nospam@seebs.net> - 2011-12-25 19:31 +0000
                Re: code snippet Rui Maciel <rui.maciel@gmail.com> - 2011-12-26 21:53 +0000
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-26 16:10 -0800
                Re: code snippet Keith Thompson <kst-u@mib.org> - 2011-12-26 18:11 -0800
                Re: code snippet 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-26 23:56 -0800
                Re: code snippet "Bill Cunningham" <nospam@nspam.invalid> - 2011-12-20 15:57 -0500
                Re: code snippet Rui Maciel <rui.maciel@gmail.com> - 2011-12-21 12:39 +0000
                Re: code snippet Bill Reid <hormelfree@gmail.com> - 2011-12-22 15:29 -0800
          Re: code snippet Geoff <geoff@invalid.invalid> - 2011-12-19 19:19 -0800
            Re: code snippet "Bill Cunningham" <nospam@nspam.invalid> - 2011-12-20 13:51 -0500
              Re: code snippet Geoff <geoff@invalid.invalid> - 2011-12-20 11:08 -0800
  Re: code snippet Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-12-19 11:37 +0000
    Re: code snippet "Bill Cunningham" <nospam@nspam.invalid> - 2011-12-19 16:38 -0500
      Re: code snippet "Morris Keesan" <mkeesan@post.harvard.edu> - 2011-12-19 17:02 -0500
    Re: code snippet "Bill Cunningham" <nospam@nspam.invalid> - 2011-12-19 17:21 -0500
      Re: code snippet John Gordon <gordon@panix.com> - 2011-12-19 22:35 +0000

csiph-web