续写下列代码#include <iostream> #include <stdio.h> #include <malloc.h> #define EQ(a,b) ((a)==(b)) #define LT(a,b) ((a)<(b)) #define LQ(a,b) ((a)<=(b)) typedef int Elemtype; typedef int KeyType; using namespace std; typedef struct { KeyType key; } SElemtype; typedef struct { SElemtype *elem; int length; } SStable; void creatSStable(SStable &T) { int i; // cout <<"请输入顺序表的长度:"; cin >>T.length; // cout<<"请输入顺序表的数据:" ; T.elem=(SElemtype*)malloc((T.length+1)*sizeof(KeyType)); for (i=1; i<=T.length; i++) cin >>T.elem[i].key; } /////////////////////////4)实现冒泡排序算法。 void BubbleSort(SStable &L) {
时间: 2024-04-29 11:19:56 浏览: 69
effective.pdf
下面是续写的代码:
void BubbleSort(SStable &L) {
for (int i = 1; i < L.length; i++) {
for (int j = L.length; j > i; j--) {
if (LT(L.elem[j].key, L.elem[j-1].key)) {
SElemtype temp = L.elem[j];
L.elem[j] = L.elem[j-1];
L.elem[j-1] = temp;
}
}
}
}
冒泡排序算法的基本思想是:从第一个元素开始,依次比较相邻的两个元素,如果它们的顺序不正确,则交换它们的位置。这样一轮比较下来,最大的元素就会“冒泡”到序列的末尾。然后再从第一个元素开始,依次比较相邻的两个元素,重复上述过程,直到所有的元素都排好序为止。
阅读全文