c语言结构体数组冒泡排序
时间: 2023-12-17 14:29:02 浏览: 138
c语言数组冒泡排序
5星 · 资源好评率100%
以下是C语言结构体数组冒泡排序的示例代码:
```c
#include <stdio.h>
#include <string.h>
struct Student {
char name[20];
int score;
};
void bubbleSort(struct Student arr[], int n) {
int i, j;
struct Student temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j].score > arr[j + 1].score) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
struct Student students[5] = {
{"Tom", 80},
{"Jerry", 70},
{"Alice", 90},
{"Bob", 85},
{"David", 75}
};
int i;
printf("Before sorting:\n");
for (i = 0; i < 5; i++) {
printf("%s: %d\n", students[i].name, students[i].score);
}
bubbleSort(students, 5);
printf("After sorting:\n");
for (i = 0; i < 5; i++) {
printf("%s: %d\n", students[i].name, students[i].score);
}
return 0;
}
```
该示例代码中定义了一个结构体`Student`,包含学生姓名和分数两个成员变量。`bubbleSort`函数实现了冒泡排序算法,其中`arr`参数为结构体数组,`n`参数为数组长度。在`main`函数中定义了一个包含5个学生信息的结构体数组`students`,并输出排序前和排序后的学生信息。
阅读全文