将这个代码改为冒泡排序代码
时间: 2023-07-03 07:29:35 浏览: 72
好的,这是将该代码改为冒泡排序的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define n 100 //待排序记录的个数
typedef int KeyType; //关键字类型定义
typedef char OtherdataType;//非关键字字段类型定义
typedef struct {
KeyType key; //关键字域
OtherdataType data[10]; //其它数据域
} RecType;
typedef RecType SeqList[n+1]; //顺序表类型
void bubbleSort(SeqList R, int len) {
int i, j;
RecType temp;
for (i = 1; i < len; i++) { // n 个数排序,进行 n-1 轮排序
for (j = 1; j < len - i + 1; j++) { // 每轮排序从第一个位置开始,到 len-i+1 的位置结束
if (R[j].key > R[j + 1].key) { // 相邻元素比较,如果前一个数大于后一个数,则交换
temp = R[j];
R[j] = R[j + 1];
R[j + 1] = temp;
}
}
}
}
int main() {
SeqList R;
int i, len = 5;
for (i = 1; i <= len; i++) {
scanf("%d %s", &R[i].key, R[i].data);
}
bubbleSort(R, len);
for (i = 1; i <= len; i++) {
printf("%d %s\n", R[i].key, R[i].data);
}
return 0;
}
```
这段代码中,`bubbleSort` 函数是实现冒泡排序的核心, `main` 函数中的代码是测试排序结果的,可以根据自己的需要修改。
阅读全文