projects
/
unix-history
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
blame
|
history
|
raw
|
HEAD
Research V7 development
[unix-history]
/
usr
/
src
/
cmd
/
refer
/
shell.c
shell
(
n
,
comp
,
exch
)
int
(*
comp
)(), (*
exch
)();
/* SORTS UP. IF THERE ARE NO EXCHANGES (IEX=0) ON A SWEEP
THE COMPARISON GAP (IGAP) IS HALVED FOR THE NEXT SWEEP */
{
int
igap
,
iplusg
,
iex
,
i
,
imax
;
igap
=
n
;
while
(
igap
>
1
)
{
igap
/=
2
;
imax
=
n
-
igap
;
do
{
iex
=
0
;
for
(
i
=
0
;
i
<
imax
;
i
++)
{
iplusg
=
i
+
igap
;
if
((*
comp
) (
i
,
iplusg
) )
continue
;
(*
exch
) (
i
,
iplusg
);
iex
=
1
;
}
}
while
(
iex
>
0
);
}
}