![21天学通C语言](https://wfqqreader-1252317822.image.myqcloud.com/cover/685/687685/b_687685.jpg)
上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所示。
![](https://epubservercos.yuewen.com/FA78BB/3590497003453401/epubprivate/OEBPS/Images/figure_0031_0001.jpg?sign=1738849184-OrbzYhyeztVXCc9PnTVvWT8KmYinprxS-0-c37b0b7a97469d73916b60ecb1200852)
图1-19 冒泡法的程序流程图
N-S流程图如图1-20所示。
![](https://epubservercos.yuewen.com/FA78BB/3590497003453401/epubprivate/OEBPS/Images/figure_0032_0001.jpg?sign=1738849184-xi7AnH81ZRCbqK9UmJ1y2rrvHxf8d0YL-0-d80d53b1096f98268c9e49f131e67340)
图1-20 冒泡法的N-S流程图