|
��图4.7是用C语言写出的交换排序的例子。
�� |
|
�void sorting( int
X[ ], int n )
�{
���int i, j, temp;
���if ( n < 2 ) return;
���for ( i = 1; i < n; i++ )
����for ( j = n-1; j >= i; j-- )
�����if ( X[j-1] > X[j] )
�������{ temp = X[j-1]; X[j-1] = X[j]; X[j] = temp; }
�} |
操作数
|
计数
|
操作符
|
计数
|
X
|
6
|
;
|
8
|
n
|
3
|
数组下标
|
6
|
i
|
4
|
for
( )
|
2
|
j
|
9
|
if
( )
|
2
|
temp
|
2
|
=
|
5
|
2
|
1
|
{
}
|
1
|
1
|
5
|
<
|
2
|
n2 = 7
|
N2 = 30
|
>=
|
1
|
|
|
>
|
1
|
|
|
++
|
1
|
|
|
--
|
1
|
|
|
-
|
4
|
|
|
缺";"的表达式结束
|
4
|
|
|
Return
|
1
|
|
|
程序结束
|
1
|
|
|
n1 = 15
|
N1 = 40
|
图4.7 一个交换排序程序的例子
|
|
�因此有预测的词汇量
���H = n1 * log2n1
+ n2 * log2n2
= 15 * log215 + 7 * log27
= 78.25
�实际的词汇量 �N = N1 + N2 = 40 + 30 = 70
�程序的词汇表 �n = n1 + n2
= 15 + 7 = 22
�� |