上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流程图