数据结构(C语言实现)
上QQ阅读APP看书,第一时间看更新

1.4.3 算法的描述

算法的描述是多样的,本节通过一个例子来学习各种算法的描述。

求两个正整数m和n的最大公约数。

利用自然语言描述最大公约数的算法如下:

(1)输入正整数m和n。

(2)m除以n,将余数送入中间变量r。

(3)判断r是否为零。如果为零,n即为所求最大公约数,算法结束。如果r不为零,则将n中的值送入m,r的值送入n,返回执行步骤(2)。

因为上述算法采用自然语言描述不具有直观性和良好的可读性,采用程序流程图描述比较直观,可读性好,但是不能直接转化为计算机程序,移植性不好。最大公约数的程序流程图如图1.9所示。下面采用类C语言描述和C语言描述。

类C语言描述如下:

图1.9 最大公约数的程序流程图

C语言描述如下:

可以看出,类语言的描述除了没有变量的定义、输入和输出的写法之外,与程序设计语言的描述的差别不大,类语言的描述可以直接转化为可以直接运行的计算机程序。本书的算法完全采用C程序设计语言描述。