一、实验内容
在 buf 缓冲区中存放有 50 个字节数据(无符号数),编写程序将这些数据由小到大排序,排序后的数据仍放在该区域中。具体功能如下:
(1)原始数据在源程序中由定义给出;
(2)在屏幕上先显示排序前的数据(十六进制),数据以每行 10 个的格式显示在屏幕上,数据与数据间用空格分开;
(3)完成排序;
(4)在屏幕上显示排序后的数据(十六进制),数据以每行 10 个的格式显示在屏幕上,数据与数据间用空格分开;
如果数据个数变为 60 或 78 等的取值时,程序代码部分无需修改。
二、子程序调用图
三、算法思想
采用经典冒泡排序方法,重复扫描要排序的元素列,依次比较两个相邻的元素,完成元素列的升序或降序排列。设数据个数为n,总共需要排序n-1趟,第i趟排序做关键字两两比较的次数为n-i,所以整体运行总的平均时间复杂度为 Q ( n 2