Analisis Algoritma Bubble Sort
!
!"
#
$ %
!
$
! !"
( $ ! ! &%
#' ! !
$* " + ,-&
! &. ". /. 0.
)
)
!
"
# " #
$ "
% " #
"
" $ "
"
$
"
"
"
"
'
!
" (
1$ & & $
"
"
$
1 !
!#
#
% )& * +,-,
% !
$ "
!
!2 $ &
! &
& $ %#
!
1
/ /
$
2 !
1
! !# & &
! !
& $ % &
1 1 % 1 1 $ # 3
/ !2 4 $ !
! 4
.5
!
1# $
! % 2 ! % &
1$%
& $ %
1
& $ &
! ! ! "
"6
! % &
1
2 ! / & / ! ! !.
7 $
1$ & !2 # & 1 $
$
/ % 0
% & 2 !
1
! ! & /
1
1 / ! ! # 2
4 $ % 1 & & 2 !
$
!
!
4 $ %
2 !
! ! !
$
! 1 & &.
( $ % 1 & & !
! $ & /
1$ & & 8
2 !
& / $ ! ! ! 9!:# & ! ! 4 $ %
!
! $& /
1$ & &
! 2 !
& / $ !
! ! 9!:.
1$ & & 8
/
&
! 4 $ %
1 & & % &&
$
#/ !/
&
!
& 0
!2
1$ & $
!. $ ! & / / !
$ % &
1
!
1 $ 2 ! / / )/ #
& %!
&
$
2 ! &
!
! % &$ !
8
& & 2 ! / / # 1
1
!
1$ 2 ! / / .
7 $ & 1 $
! !2 *
)
1
)
1
)
1
)
1
#
1
/ /
4 !& 1
& / 0 $ &.
&
9; ) < =:
& 1 ! & !!$ 9
& 1 ! & & ! $
!$
$ "
! $
1
!
' ! !
$ !
1$ & &
% & 9 1
/ "
!2
!!2 #
1$ & & 8
' & !2 2 !
1$ & & 8
8
! !
!
! & ! ! !3
8
& 1
!
/ &
&
/
0 ! %# 1
!.
" ! &
$
#
$: 2 !
$
1 !
% !2
! &
"
4 ! & $
/ % !
2 !
$
&
$
.
/ % ! % !2 $ % % 1 !
2 ! & / ! !2 .
1$ & &
1$ & & 8
& 1
2 !
5 9/ 0 * 3 )/ & 5:.
1$ & &
1 $ % ! !
!
/$
1 &
!
1$ & & 8
.
$% 1
1 &
!
/ 8 %
9 :
9 :
7 1 &
!9 :
& 1 $ %1 &
! 9 :.
7 1
$ % / %8 ! $
$ %
/ &
9!:#
!1 "
1 ! $ !2 . '
!
$ % "
/ / 1
$ 1
$
/
&
!!$
!2 .
$ 1
9 :
9$ !:
9!:
9! $ !:
9! :
9!>:
9 !:
9!?:
%)
&1
$
:
1 &
1 &
7 $
1 % ! !
! % !
1 &
$
& / .
%. !
%
# !&
$
!& !
$
$ !4
!$ !
/
&1 ! !& $
"
$
$ "
"
01
1$ & & $
& /
$
&
# 2 !
! !4
! !
1$ & & &
# ! !
!& /
/
.
9 :@ 9$
!:@ 9!:@ 9! $
!:@ 9! :@A@ 9 !:@ 9!?:
.%
-20
.%
*
.% %
-
,
-& 0
"
$
$
/ //$ &
$ % & $ % &
$
1 !
! 2 ! 1 $ ! & 1$ # /
$
% $1 !
!
1 ! 1 ! 1 !!2 .
$
!
$ %
! $ ! 1 & &1 / ! ! ! !
1) 1 $
!
!
!
!2
1 /$
!!2
& $ %.
/ ! ! ! $
!) $
! !
!
&
$ !
%!
1 $
$
! 1 !
! $ . $
!
&
$
$ ! ! $
!
!
! ! 1 / ! ! ! $
1 & !
$
!!2 . '
!
$ %
/ !
$
/ //$ & .
& $ !
1 !2 & / %
! ! $
!)
$
! 3B
, > 5.
& & 2 !
!
4
1 /$
! ! $
/ //$ &
$ %& /
/
.
)
$
93 . , > :
9 3 > :
9 B
:
9 B > 4:
!4
!4
!4
!4
9. 3 , > :
9 3 > :
9 B
:
9 B > 4:
)
"
9. 3 > , :
9 3 , :
9 >3 :
9 > B 4:
!4
!4
!4
!4
9. 3 > , :
9 3, :
9 >3 :
9 > B 4:
)
"
9. B , :
9 3 :
9 >3 :
9 > B 4:
!4
!4
!4
!4
9. B , :
9 3, :
9 >3 :
9 > B 4:
!4
!4
!4
9. 4 B :
9 34 :
9 B 4:
)
!
9. 3 :
9 3 :
9 3 4:
!4
!4
!4
9. 3 :
9 3 :
9 3 4:
)
!
9. B :
9 .3 :
9 3 4:
!4
!4
!4
9 .B :
9 .3 :
9 3 4:
)
!
9 .B :
9 .3 :
9 3 4:
$
!4
!4
!4
9 .B :
9 .3 :
9 3 4:
7
1 & & 1 !
!
1
$ % / %8
/ & # 3 5# $ ! & !
! 1
1 &&
%
1
.
!
1 $
!
0 $# 3 5# /
! 1 1 && 1
1
1 #2
2 !
% .
$ %
!
#
!0 $$ % & $ % 3
)
5
!
3 $ !0 5 $
$
' //$
.
0 ! %
3 5 / 1 ! & /
3
)
5# & ! ! 3 5
/ 1 !& /
3 $ !0 5.
!
! 3
)
!
$ !0 5 ! & !
$
!
/
!1 & &1 !
!
!4
$
#
$
!3
)
5.
$ ! & / / ! $ %3
)
5
/ % !&
$
% !2 !
/
& 1 &&
& / $ %
.
$
1
.%.
7 1
$% 1
1 & &
& / ! !2 1
1 &&
# $ ! %
#
$ %
.
!
$
1 $ !4
! %!
1 &&
/
% .
&&
$
!
!
"!&
$
$
/ //$ &
$ %
& 1 !1 !
!
1
&
1 & & % !
1 &&
/ % ! !
C " &
!
& / .
.% % ! 1"
!
( $
7 $
$
' //$
!#
1 / / 1 0
% & 2 ! 0 1
! !4 $# D
% &
$
' //$
!
$ % 0 1 !2 $
!) $
! / &
! 1
1 && 2 !
1
! $ / !2
$
!)
$
! 2 ! $ /% 0$ $
! 1
1 && 2 !
1 .
$ !
1
!4
!1
0 ! %
3
B
5 2 !
!
! /
!
! ! !
$
' //$
.
)
94 . B :
9 43 :
9 B4 :
)
7
!
$
1 $
/ / #
! !
$ %
!
/
$
/ //$ & #
/ //$ & 1
/ % &
)
15
!
$
1$
! & 2 !
/ % & 1
2 !
1
.
!
$ % 1&
)0
!
% !
1$
! &
1 1 !.
procedure bubbleSort( A : list of
sortable items ) defined as:
do
swapped := false
for each i in 0 to length(A) - 2
inclusive do:
if A[i] > A[i+1] then
swap( A[i], A[i+1] )
swapped := true
end if
end for
while swapped
end procedure
.%
/ /
!
$ "
1$ & & $
1 4 ! & & 2
.
' //$
1
$%
!
/ % &
$
4 $ % 1 & & 1
& /
/
.
#
.% % !
7 $
& & !#
2 !
& / $ !2 # & % !
1
$
! & / !2
9!) :
& &
1 / ! ! !
C " &
!
$% 1
1 !
!
!
&
!
$ %
& & 1 / ! ! ! % !2
$#
! ! &
$ 1 &&.
$
!
% !2
!
. D ! %
!
1
3 > B5 / 8 % ! .
7 $
2 !
$ %
$
!
C
! & / & 0 &
" &.
1
%!
& !
$ %
9>:
1 &
! 9>:
$ %4 $ % $
!
!
!. % !
! &
2 !
1
9! :. 7 ! !
$ !# 1
! &
#
' //$
&
$
$
.
.% % !
)
)
9 . > B:
9 . B:
9
3:
!4
!4
!4
9 . > B:
9 . B:
9
3:
7
1 & &
1 !
! 1 && &
1 && & $ !4 !2 .
& / !2
$.
& &1 / ! !
& / !2 9!) : $ .
1 & & !
$ %
!
$
$ !4 .
1
$ % / %8
$ 1 !# & % !
/ ! ! !
$
!
4
$
$
!
!
$
/ !2
&
$%
1 $!
!1
! & ! % !2
$
!
&
!
2 !
1 $ %
9!:. 7 ! !
$ !# 1
! &
' //$
& 1
$
.% %. !
7 $
& & !#
D ! %"
!
> 5 / 8 % !.
0$/
$% 1
1
)
)
93
:
9> 3 . :
9> 3 :
!4
!4
!4
9 3
:
9> . 3 :
9>
3:
)
!
9 . B:
9
B:
9
3:
!4
!4
!4
9.
9
9
)
!
9. > B:
9 . B:
9
3:
!4
!4
!4
9 . > B:
9 . B:
9
3:
)
!
9 . > B:
9 . B:
9
3:
$
!4
!4
!4
9 . > B:
9 . B:
9
3:
1
1 !
4 !
!
.
3B
! & C
! 2 !
. $ !
1
& $ !
/ %8 2 !
/ !2
$ %
!
)0 & # 4 $ % 1 &&
!
!
! $
1 ! & !
1 $!
!4
! $ %1 & &1 !
!
& 4 9 + E :. 7 9 + E :# 1
!
! $
1 & & 1 ! & !
$
! #2
& / !2
$.
)
)
9 E :
9 6 :
9 E .:
!4
!4
!4
9 E :
9 6
:
9 E. :
)
!
9 6 +:
9 6 . +:
9 6 :
!4
!4
!4
9 6 +:
9 . 6 +:
9 6 :
)
!
9 . E +:
9 . 6 +:
9 6 :
!4
!4
!4
9 . E +:
9 . 6 +:
9 6 :
7
!
1 & & 1 !
!
1
$ % / %8
!
!
1 $ !
/ %
#
/ %&
/ %
!
C " &.7 ! !
$ !# 4 $ % 1 & & 1 / ! ! !
1
% !
& /
/
.
# $ %
& &
9B:
B:
B:
3:
7 $
1 &
! 9B:
F
$ % 4
1 ! & !
/ !2 . 7 $
% $ !# F
1
$ /%/ &
!# & % !
F 1
& !& /
7 1 &
! 9B: ! 9,:
1
& 1
/ %8 ! & / ) !2
$ % 9! :. 7 ! !
1
! &
$
' //$
&
$
$
.
.%3
7 $ ! % 1 !
!
$ % / %8 & 1
$
$
! &
1 &
0$
!/
&
% 8 $ & / !2 &
. 7 ! !
$ !# !
! &
0$
!
1
! 4
! 1
# / % !
& / !2
$#
7
$
$
$
!
1
$
! !!2
' //$
' //$
' //$
$ %
! %
$ !
$ !#
! "
&! )
.
$
$ /% !
!
&! #
! 1 $
! !
$ /% ! !
! !
1
$%
&
& ! . '
!
$ %
/ /
1
$ /% !
!
! !
$
' //$
.
.%3% !
& /
' / 1
$ /% !
$
' //$
$ %
/
*
•
$
2 ! & 1 $.
•
% !
/ % !4
.
• 7 "!&
1
! !4 $ & $
$
.
• D 0
!
1 !
!
! ! $
!
0$ $ %
.
$
1 !
1 / !
1 !
& $!2
2 ! & 1 $.
$ !
$%
1 & &
! 2 ! % !2
! ! !
!&
!
! !# !1 1 ! ! ! 1 & & $ !. $
! $ ! 0 !
!
!
! ! 1 & & $ !#
1 & &1 & 1
$
' ( ) .GBH
% !
/ %
!4
. $ !
/
!
$ % & 1 $!2 $
' //$
# & %!
0$
! ! !
4
& $ % ! &! F $
1 /
!
.
7 "!&
1
! !4 $ & $
$
.
7 "!&
!
$ %
!2 &
$1 !
1
&
$
.' /
! ! $
$ !2 !
& ! $
$
"!&
2 ! 4 $ &
1
$
!2 #
& $!2 ' ( )
2 ! % !2
$
! 1 & %!
% !2
/ % !$ 2 !
/ & / ! ! !.
D 0
!
1 !
!
! ! $
! 0$ $ %
. $
' //$
$
! &
! !
1$ & & $
9!:.
.%3%. ! "
' / 1
& /
/
•
•
! !
"
"
/ & .
! %1 !
! !
1$ & & $
&
$
$ %
$
1 !
!
!2 !
/ & $
$ $ 1 !4 ! .
/ &
' //$
$ %
$ $ / & # /
$
1 !
# 2
9! :# & % !
/ & /
$
1
"#
*
#
! I".G H
!
/ %
! 4
1 & &
$ /%
&
/ ! ! !.
& 2 ! / & ! 4
& ! $
/
//$
& /
3%
$
+
2 !
! $ &
1 ! $
& $!2 #
4 1 & &1
1$ &
$
'
$
% 5.G H
' % !#
!
$
$
1$ & & $
0 !
! $ / % " & !.
.%3%.
' //$
*
1 !
! $ ! 2 !
9! :#
#"
7
/
"
!0 $ / /
0
" & !. 7 / /
0
' //$
#/ / 1
•
" & $
• D 0 $&
• D 1&
" ! $
' //$
#
$
' //$
$ /%
!
!0 $ C & )C & /
! !2
$ %*
/ //$ &
" & $
/ //$ &
$
! & %!
+ +
!4 & 1
/
.
procedure bubbleSort( A : list of
sortable items ) defined as:
n := length( A )
do
swapped := false
for each i in 0 to n - 1 inclusive
do:
if A[ i ] > A[ i + 1 ] then
swap( A[ i ], A[ i + 1 ] )
swapped := true
end if
end for
n := n - 1
while swapped
end procedure
& & $
2 !
4
! !4
,9,:
1 & &
1$ & & $
1 9! :.
!
1# 1
# 8
1
& & !
!
/ 4 $ !
$ $ /% 0 1
1
$
/ //$
& / & .
( $
#
+ + )!2
$ % & /
/
.
procedure cocktailSort( A : list of
sortable items ) defined as:
do
swapped := false
for each i in 0 to length( A ) - 2
do:
if A[ i ] > A[ i + 1 ] then //
test whether the two elements are in
the wrong order
swap( A[ i ], A[ i + 1 ] ) //
let the two elements change places
swapped := true
end if
end for
if swapped = false then
// we can exit the outer loop
here if no swaps occurred.
break do-while loop
end if
swapped := false
for each i in length( A ) - 2 to 0
do:
if A[ i ] > A[ i + 1 ] then
swap( A[ i ], A[ i + 1 ] )
swapped := true
end if
end for
while swapped // if no elements have
been swapped, then the list is sorted
end procedure
$
( $
#
& !2
$ % $
&
$
!
0$ ! / &
!/
1
1 2 !
1 .
$ %
# $
$ !
!1
$/
! $
! 8 $ ! % . $ !
! %$ ! !
3
)
5
!
!
/
! 4 $ %
1 &
/
! .
!
1# 1
$
!
&%
$
1$ & & $
9! :.
& /
!
/
! 1
.
+
+ !2
$ %
function combsort(array input)
gap := input.size //initialize gap
size
loop until gap =
input.size //see shellsort for similar
idea
if input[i] > input[i+gap]
swap(input[i],
input[i+gap])
swaps := 1 // Flag a
swap has occurred, so the
// list is
not guaranteed sorted
end if
i := i + 1
end loop
end loop
end function
0 /&
$ % 1 / ! ! ! !
$
!
! ! $
! & / $ %!2 # !
!
$
! !
1 & / & 1 !4 ! $ &
2 !
!
# /
! !&
"
.
& /
% (*
.
/
0 ! %# &
$&
! ! 4 $ % $
! J#
! ! % ( *
& / &
.>#
&! K &!
1
$ % ,#># # . 7 ! !
$ !# 1
8 $!2
$
! )
/ ! ! ! ! ! $
! )E#
!
$% 1 %
.
$ %
$ !
! !
7
$
!
&!2 .
&
% !&
! ! 1 >#
&$
1$ & & $
$ % 9! $ !:.
!
#
#
!
),-
$
' //$
$ % $
2 ! & 1 $
% 1 $ 4 #& $ !
$
"!&
4 $ &
$
$
!2 .
$
! 4
$ 0
% 2
3
)
! $ !0 5.
!
1# $
' //$
$
$
% !#
2
1$ & & $
9! : 1
!
# & %!
!4
! $
!
"
" $ 1 !
!.
$ %
!
# / !2
01
! C & ' //$
#
$
" & $
%!
1 ! / % !
$ ! %/
$ / !
!
( $
.
!
2 !
&7& &
.
!"
#
$ %
!
$
! !"
( $ ! ! &%
#' ! !
$* " + ,-&
! &. ". /. 0.
)
)
!
"
# " #
$ "
% " #
"
" $ "
"
$
"
"
"
"
'
!
" (
1$ & & $
"
"
$
1 !
!#
#
% )& * +,-,
% !
$ "
!
!2 $ &
! &
& $ %#
!
1
/ /
$
2 !
1
! !# & &
! !
& $ % &
1 1 % 1 1 $ # 3
/ !2 4 $ !
! 4
.5
!
1# $
! % 2 ! % &
1$%
& $ %
1
& $ &
! ! ! "
"6
! % &
1
2 ! / & / ! ! !.
7 $
1$ & !2 # & 1 $
$
/ % 0
% & 2 !
1
! ! & /
1
1 / ! ! # 2
4 $ % 1 & & 2 !
$
!
!
4 $ %
2 !
! ! !
$
! 1 & &.
( $ % 1 & & !
! $ & /
1$ & & 8
2 !
& / $ ! ! ! 9!:# & ! ! 4 $ %
!
! $& /
1$ & &
! 2 !
& / $ !
! ! 9!:.
1$ & & 8
/
&
! 4 $ %
1 & & % &&
$
#/ !/
&
!
& 0
!2
1$ & $
!. $ ! & / / !
$ % &
1
!
1 $ 2 ! / / )/ #
& %!
&
$
2 ! &
!
! % &$ !
8
& & 2 ! / / # 1
1
!
1$ 2 ! / / .
7 $ & 1 $
! !2 *
)
1
)
1
)
1
)
1
#
1
/ /
4 !& 1
& / 0 $ &.
&
9; ) < =:
& 1 ! & !!$ 9
& 1 ! & & ! $
!$
$ "
! $
1
!
' ! !
$ !
1$ & &
% & 9 1
/ "
!2
!!2 #
1$ & & 8
' & !2 2 !
1$ & & 8
8
! !
!
! & ! ! !3
8
& 1
!
/ &
&
/
0 ! %# 1
!.
" ! &
$
#
$: 2 !
$
1 !
% !2
! &
"
4 ! & $
/ % !
2 !
$
&
$
.
/ % ! % !2 $ % % 1 !
2 ! & / ! !2 .
1$ & &
1$ & & 8
& 1
2 !
5 9/ 0 * 3 )/ & 5:.
1$ & &
1 $ % ! !
!
/$
1 &
!
1$ & & 8
.
$% 1
1 &
!
/ 8 %
9 :
9 :
7 1 &
!9 :
& 1 $ %1 &
! 9 :.
7 1
$ % / %8 ! $
$ %
/ &
9!:#
!1 "
1 ! $ !2 . '
!
$ % "
/ / 1
$ 1
$
/
&
!!$
!2 .
$ 1
9 :
9$ !:
9!:
9! $ !:
9! :
9!>:
9 !:
9!?:
%)
&1
$
:
1 &
1 &
7 $
1 % ! !
! % !
1 &
$
& / .
%. !
%
# !&
$
!& !
$
$ !4
!$ !
/
&1 ! !& $
"
$
$ "
"
01
1$ & & $
& /
$
&
# 2 !
! !4
! !
1$ & & &
# ! !
!& /
/
.
9 :@ 9$
!:@ 9!:@ 9! $
!:@ 9! :@A@ 9 !:@ 9!?:
.%
-20
.%
*
.% %
-
,
-& 0
"
$
$
/ //$ &
$ % & $ % &
$
1 !
! 2 ! 1 $ ! & 1$ # /
$
% $1 !
!
1 ! 1 ! 1 !!2 .
$
!
$ %
! $ ! 1 & &1 / ! ! ! !
1) 1 $
!
!
!
!2
1 /$
!!2
& $ %.
/ ! ! ! $
!) $
! !
!
&
$ !
%!
1 $
$
! 1 !
! $ . $
!
&
$
$ ! ! $
!
!
! ! 1 / ! ! ! $
1 & !
$
!!2 . '
!
$ %
/ !
$
/ //$ & .
& $ !
1 !2 & / %
! ! $
!)
$
! 3B
, > 5.
& & 2 !
!
4
1 /$
! ! $
/ //$ &
$ %& /
/
.
)
$
93 . , > :
9 3 > :
9 B
:
9 B > 4:
!4
!4
!4
!4
9. 3 , > :
9 3 > :
9 B
:
9 B > 4:
)
"
9. 3 > , :
9 3 , :
9 >3 :
9 > B 4:
!4
!4
!4
!4
9. 3 > , :
9 3, :
9 >3 :
9 > B 4:
)
"
9. B , :
9 3 :
9 >3 :
9 > B 4:
!4
!4
!4
!4
9. B , :
9 3, :
9 >3 :
9 > B 4:
!4
!4
!4
9. 4 B :
9 34 :
9 B 4:
)
!
9. 3 :
9 3 :
9 3 4:
!4
!4
!4
9. 3 :
9 3 :
9 3 4:
)
!
9. B :
9 .3 :
9 3 4:
!4
!4
!4
9 .B :
9 .3 :
9 3 4:
)
!
9 .B :
9 .3 :
9 3 4:
$
!4
!4
!4
9 .B :
9 .3 :
9 3 4:
7
1 & & 1 !
!
1
$ % / %8
/ & # 3 5# $ ! & !
! 1
1 &&
%
1
.
!
1 $
!
0 $# 3 5# /
! 1 1 && 1
1
1 #2
2 !
% .
$ %
!
#
!0 $$ % & $ % 3
)
5
!
3 $ !0 5 $
$
' //$
.
0 ! %
3 5 / 1 ! & /
3
)
5# & ! ! 3 5
/ 1 !& /
3 $ !0 5.
!
! 3
)
!
$ !0 5 ! & !
$
!
/
!1 & &1 !
!
!4
$
#
$
!3
)
5.
$ ! & / / ! $ %3
)
5
/ % !&
$
% !2 !
/
& 1 &&
& / $ %
.
$
1
.%.
7 1
$% 1
1 & &
& / ! !2 1
1 &&
# $ ! %
#
$ %
.
!
$
1 $ !4
! %!
1 &&
/
% .
&&
$
!
!
"!&
$
$
/ //$ &
$ %
& 1 !1 !
!
1
&
1 & & % !
1 &&
/ % ! !
C " &
!
& / .
.% % ! 1"
!
( $
7 $
$
' //$
!#
1 / / 1 0
% & 2 ! 0 1
! !4 $# D
% &
$
' //$
!
$ % 0 1 !2 $
!) $
! / &
! 1
1 && 2 !
1
! $ / !2
$
!)
$
! 2 ! $ /% 0$ $
! 1
1 && 2 !
1 .
$ !
1
!4
!1
0 ! %
3
B
5 2 !
!
! /
!
! ! !
$
' //$
.
)
94 . B :
9 43 :
9 B4 :
)
7
!
$
1 $
/ / #
! !
$ %
!
/
$
/ //$ & #
/ //$ & 1
/ % &
)
15
!
$
1$
! & 2 !
/ % & 1
2 !
1
.
!
$ % 1&
)0
!
% !
1$
! &
1 1 !.
procedure bubbleSort( A : list of
sortable items ) defined as:
do
swapped := false
for each i in 0 to length(A) - 2
inclusive do:
if A[i] > A[i+1] then
swap( A[i], A[i+1] )
swapped := true
end if
end for
while swapped
end procedure
.%
/ /
!
$ "
1$ & & $
1 4 ! & & 2
.
' //$
1
$%
!
/ % &
$
4 $ % 1 & & 1
& /
/
.
#
.% % !
7 $
& & !#
2 !
& / $ !2 # & % !
1
$
! & / !2
9!) :
& &
1 / ! ! !
C " &
!
$% 1
1 !
!
!
&
!
$ %
& & 1 / ! ! ! % !2
$#
! ! &
$ 1 &&.
$
!
% !2
!
. D ! %
!
1
3 > B5 / 8 % ! .
7 $
2 !
$ %
$
!
C
! & / & 0 &
" &.
1
%!
& !
$ %
9>:
1 &
! 9>:
$ %4 $ % $
!
!
!. % !
! &
2 !
1
9! :. 7 ! !
$ !# 1
! &
#
' //$
&
$
$
.
.% % !
)
)
9 . > B:
9 . B:
9
3:
!4
!4
!4
9 . > B:
9 . B:
9
3:
7
1 & &
1 !
! 1 && &
1 && & $ !4 !2 .
& / !2
$.
& &1 / ! !
& / !2 9!) : $ .
1 & & !
$ %
!
$
$ !4 .
1
$ % / %8
$ 1 !# & % !
/ ! ! !
$
!
4
$
$
!
!
$
/ !2
&
$%
1 $!
!1
! & ! % !2
$
!
&
!
2 !
1 $ %
9!:. 7 ! !
$ !# 1
! &
' //$
& 1
$
.% %. !
7 $
& & !#
D ! %"
!
> 5 / 8 % !.
0$/
$% 1
1
)
)
93
:
9> 3 . :
9> 3 :
!4
!4
!4
9 3
:
9> . 3 :
9>
3:
)
!
9 . B:
9
B:
9
3:
!4
!4
!4
9.
9
9
)
!
9. > B:
9 . B:
9
3:
!4
!4
!4
9 . > B:
9 . B:
9
3:
)
!
9 . > B:
9 . B:
9
3:
$
!4
!4
!4
9 . > B:
9 . B:
9
3:
1
1 !
4 !
!
.
3B
! & C
! 2 !
. $ !
1
& $ !
/ %8 2 !
/ !2
$ %
!
)0 & # 4 $ % 1 &&
!
!
! $
1 ! & !
1 $!
!4
! $ %1 & &1 !
!
& 4 9 + E :. 7 9 + E :# 1
!
! $
1 & & 1 ! & !
$
! #2
& / !2
$.
)
)
9 E :
9 6 :
9 E .:
!4
!4
!4
9 E :
9 6
:
9 E. :
)
!
9 6 +:
9 6 . +:
9 6 :
!4
!4
!4
9 6 +:
9 . 6 +:
9 6 :
)
!
9 . E +:
9 . 6 +:
9 6 :
!4
!4
!4
9 . E +:
9 . 6 +:
9 6 :
7
!
1 & & 1 !
!
1
$ % / %8
!
!
1 $ !
/ %
#
/ %&
/ %
!
C " &.7 ! !
$ !# 4 $ % 1 & & 1 / ! ! !
1
% !
& /
/
.
# $ %
& &
9B:
B:
B:
3:
7 $
1 &
! 9B:
F
$ % 4
1 ! & !
/ !2 . 7 $
% $ !# F
1
$ /%/ &
!# & % !
F 1
& !& /
7 1 &
! 9B: ! 9,:
1
& 1
/ %8 ! & / ) !2
$ % 9! :. 7 ! !
1
! &
$
' //$
&
$
$
.
.%3
7 $ ! % 1 !
!
$ % / %8 & 1
$
$
! &
1 &
0$
!/
&
% 8 $ & / !2 &
. 7 ! !
$ !# !
! &
0$
!
1
! 4
! 1
# / % !
& / !2
$#
7
$
$
$
!
1
$
! !!2
' //$
' //$
' //$
$ %
! %
$ !
$ !#
! "
&! )
.
$
$ /% !
!
&! #
! 1 $
! !
$ /% ! !
! !
1
$%
&
& ! . '
!
$ %
/ /
1
$ /% !
!
! !
$
' //$
.
.%3% !
& /
' / 1
$ /% !
$
' //$
$ %
/
*
•
$
2 ! & 1 $.
•
% !
/ % !4
.
• 7 "!&
1
! !4 $ & $
$
.
• D 0
!
1 !
!
! ! $
!
0$ $ %
.
$
1 !
1 / !
1 !
& $!2
2 ! & 1 $.
$ !
$%
1 & &
! 2 ! % !2
! ! !
!&
!
! !# !1 1 ! ! ! 1 & & $ !. $
! $ ! 0 !
!
!
! ! 1 & & $ !#
1 & &1 & 1
$
' ( ) .GBH
% !
/ %
!4
. $ !
/
!
$ % & 1 $!2 $
' //$
# & %!
0$
! ! !
4
& $ % ! &! F $
1 /
!
.
7 "!&
1
! !4 $ & $
$
.
7 "!&
!
$ %
!2 &
$1 !
1
&
$
.' /
! ! $
$ !2 !
& ! $
$
"!&
2 ! 4 $ &
1
$
!2 #
& $!2 ' ( )
2 ! % !2
$
! 1 & %!
% !2
/ % !$ 2 !
/ & / ! ! !.
D 0
!
1 !
!
! ! $
! 0$ $ %
. $
' //$
$
! &
! !
1$ & & $
9!:.
.%3%. ! "
' / 1
& /
/
•
•
! !
"
"
/ & .
! %1 !
! !
1$ & & $
&
$
$ %
$
1 !
!
!2 !
/ & $
$ $ 1 !4 ! .
/ &
' //$
$ %
$ $ / & # /
$
1 !
# 2
9! :# & % !
/ & /
$
1
"#
*
#
! I".G H
!
/ %
! 4
1 & &
$ /%
&
/ ! ! !.
& 2 ! / & ! 4
& ! $
/
//$
& /
3%
$
+
2 !
! $ &
1 ! $
& $!2 #
4 1 & &1
1$ &
$
'
$
% 5.G H
' % !#
!
$
$
1$ & & $
0 !
! $ / % " & !.
.%3%.
' //$
*
1 !
! $ ! 2 !
9! :#
#"
7
/
"
!0 $ / /
0
" & !. 7 / /
0
' //$
#/ / 1
•
" & $
• D 0 $&
• D 1&
" ! $
' //$
#
$
' //$
$ /%
!
!0 $ C & )C & /
! !2
$ %*
/ //$ &
" & $
/ //$ &
$
! & %!
+ +
!4 & 1
/
.
procedure bubbleSort( A : list of
sortable items ) defined as:
n := length( A )
do
swapped := false
for each i in 0 to n - 1 inclusive
do:
if A[ i ] > A[ i + 1 ] then
swap( A[ i ], A[ i + 1 ] )
swapped := true
end if
end for
n := n - 1
while swapped
end procedure
& & $
2 !
4
! !4
,9,:
1 & &
1$ & & $
1 9! :.
!
1# 1
# 8
1
& & !
!
/ 4 $ !
$ $ /% 0 1
1
$
/ //$
& / & .
( $
#
+ + )!2
$ % & /
/
.
procedure cocktailSort( A : list of
sortable items ) defined as:
do
swapped := false
for each i in 0 to length( A ) - 2
do:
if A[ i ] > A[ i + 1 ] then //
test whether the two elements are in
the wrong order
swap( A[ i ], A[ i + 1 ] ) //
let the two elements change places
swapped := true
end if
end for
if swapped = false then
// we can exit the outer loop
here if no swaps occurred.
break do-while loop
end if
swapped := false
for each i in length( A ) - 2 to 0
do:
if A[ i ] > A[ i + 1 ] then
swap( A[ i ], A[ i + 1 ] )
swapped := true
end if
end for
while swapped // if no elements have
been swapped, then the list is sorted
end procedure
$
( $
#
& !2
$ % $
&
$
!
0$ ! / &
!/
1
1 2 !
1 .
$ %
# $
$ !
!1
$/
! $
! 8 $ ! % . $ !
! %$ ! !
3
)
5
!
!
/
! 4 $ %
1 &
/
! .
!
1# 1
$
!
&%
$
1$ & & $
9! :.
& /
!
/
! 1
.
+
+ !2
$ %
function combsort(array input)
gap := input.size //initialize gap
size
loop until gap =
input.size //see shellsort for similar
idea
if input[i] > input[i+gap]
swap(input[i],
input[i+gap])
swaps := 1 // Flag a
swap has occurred, so the
// list is
not guaranteed sorted
end if
i := i + 1
end loop
end loop
end function
0 /&
$ % 1 / ! ! ! !
$
!
! ! $
! & / $ %!2 # !
!
$
! !
1 & / & 1 !4 ! $ &
2 !
!
# /
! !&
"
.
& /
% (*
.
/
0 ! %# &
$&
! ! 4 $ % $
! J#
! ! % ( *
& / &
.>#
&! K &!
1
$ % ,#># # . 7 ! !
$ !# 1
8 $!2
$
! )
/ ! ! ! ! ! $
! )E#
!
$% 1 %
.
$ %
$ !
! !
7
$
!
&!2 .
&
% !&
! ! 1 >#
&$
1$ & & $
$ % 9! $ !:.
!
#
#
!
),-
$
' //$
$ % $
2 ! & 1 $
% 1 $ 4 #& $ !
$
"!&
4 $ &
$
$
!2 .
$
! 4
$ 0
% 2
3
)
! $ !0 5.
!
1# $
' //$
$
$
% !#
2
1$ & & $
9! : 1
!
# & %!
!4
! $
!
"
" $ 1 !
!.
$ %
!
# / !2
01
! C & ' //$
#
$
" & $
%!
1 ! / % !
$ ! %/
$ / !
!
( $
.
!
2 !
&7& &
.