首页 > 试题广场 >

按照题目要求设计算法。

[问答题]

按照题目要求设计算法。

冒泡排序的常规算法,对于包含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);

这道题你会答吗?花几分钟告诉大家答案吧!