#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 5
typedef struct {
int r[MAXSIZE];
int length; //用于记录顺序表的长度
}SqList;
// 交换两个元素的位置
void swap(SqList *L,int i,int j)
{
int temp = L->r[i];
L->r[i] = L->r[j];
L->r[j] = temp;
}
// 冒泡排序
void BubbleSort(SqList *L){
// 外层循环,控制循环次数,根据数组长度
for (int i = 0; i < L->length-1; i++){
// 内层循环,从第一个元素开始,依次与相邻的两个元素进行比较,然后选出最大的那个元素。
// 每次循环结束后,最后一个元素不需要再进行比较
for (int j = 0; j < L->length-i-1; j++){
// 如果j元素大于j+1元素,那么就交换元素位置
if(L->r[j] > L->r[j+1]){
swap(L,j,j+1);
}
}
}
}
int main(){
SqList T = {
{90,21,132,58,34},
5
};
SqList *L = &T;
BubbleSort(L);
for (int i = 0; i < L->length; i++){
printf("%d ",L->r[i]);
}
system("pause");
return 0;
}
C语言:冒泡排序
最新推荐文章于 2022-02-26 16:00:54 发布