.


:




:

































 

 

 

 





o (stability) .

o , . , .

o . , , . , . ( ) .

. :

o , . , .

. .

o , , ( ), . . '' , . , . , , .

: , .

.

(. insertion sort) . , ( ), :

o ;

o ;

o , ;

o ( , );

o .

 

, , . , , ; .

:

const N=255; type array_type=array [1..N] of integer; procedure InsertSort(var x:array_type); var i, j, buf:integer; begin for i:=1 to N do begin buf:=x[i]; j:=i-1; while (j>=0) and (x[j]>buf) do begin x[j+1]:=x[j]; j:=j-1; end; x[j+1]:=buf; end; end;

, () . , , , 1000.

, n 0 k − 1. .

. C[0..k], , A, A[i] C[A[i]] . C, A j C[j] .

1:

{ 10 -. } for i:= 1 to 10 do beginc:= 0; {- -} p:= 0; { -} for j:= 1 to 10 do beginif a[i] > a[j] then begininc(p);end; { . } if (a[i] = a[j]) and (i <> j) then begininc(c);end; end; { j}{ - -} if c > 0 then beginfor p + 1 to (p + 1) + c dob[p]:= a[i];end; b[p + 1]:= a[i];end; { i}

2:

for i:= 1 to n do begin c[a[i]]:= c[a[i]] + 1;end; {} p:= 1;for i:= 1 to n do begin for j:= 1 to c[i] do begin a[p]:= i; inc(p); end;end;

: , :

1, 11 , , . , , , . , .
2, 12 , , . , , , . .
3, 13 , , . , , , . .
4, 14 , , . , , , . .
5, 15 , , . , , , . .
6, 16 , , . , , , . .
7, 17 , , . , , , . .
8, 18 , , . , , , . .
9, 19 . , , , . , , .
10, 20 . , , , . , , .

:

1. .

2. .

3. .

; .






:


: 2016-10-06; !; : 1001 |


:

:

- , - .
==> ...

1619 - | 1542 -


© 2015-2024 lektsii.org - -

: 0.01 .