21天学通C语言
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4 综合练习

用伪代码来描述使用冒泡排序法将序列从小到大排序的算法,并画出其程序流程图或N-S流程图。

【提示】冒泡排序的基本思想是,对尚未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两个元素。经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了要求的顺序。

与第1.2.2节中的直接排序算法一样,也选择数组作为对象序列存储的数据结构,数组名为array,序列个数为N。算法的伪代码描述如下:

        算法开始:
            设i值为N-1;
            当i > 0
            {
                设j值为0;
                当j < i
                {
                      如果array[j] > array[j+1]
                      {
                          交换第j个元素和第j+1个元素;
                      }
                      j自增1;
                }
                i自减1;
            }
        算法结束

程序流程图如图1-19所示。

图1-19 冒泡法的程序流程图

N-S流程图如图1-20所示。

图1-20 冒泡法的N-S流程图