按照题目要求设计算法。
冒泡排序的常规算法,对于包含n个记录的序列,在任何初始排列状态下都需要执行n-1趟。即使原始记录序列基本有序也是如此。有一种冒泡排序的改进算法可以在某些状态下减少排序的趟数。具体改进措施是:在排序过程中,一旦发现待排序记录序列已经有序排序,排序过程立即停止。试设计这个冒泡排序的改进算法,将原始记录序列按照非递减顺序排列。
假设待排序记录序列采用顺序表表示,其数据类型定义为:
typedef struct{ //记录类型定义 int key; //记录的关键字 InfoType otherinfo; //记录中其他的数据项 }RedType; typedef struct{ //表示记录序列的顺序表定义 RedType r[MAXSIZE+1];//r[0]闲置 int length; //顺序表长度 }SqList; 假设冒泡排序改进算法的函数原型定义为: void BubbleSort(SqList&L);