c++结构体冒泡排序
时间: 2023-11-01 09:08:45 浏览: 114
冒泡排序是一种简单的排序算法,它通过比较相邻的元素并交换位置来实现排序。对于一个结构体数组,在冒泡排序中,我们可以通过比较结构体的某个属性来进行排序。下面是一个使用冒泡排序对C中的结构体进行排序的示例代码:
```c
#include<iostream>
#include<string>
using namespace std;
struct student
{
string name;
int score;
};
void bubbleSort(student* arr, int len)
{
for (int i = 0; i < len - 1; i++)
{
for (int j = 0; j < len - 1 - i; j++)
{
if (arr[j].score > arr[j + 1].score)
{
student temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main()
{
student list[5] = { {"AA",75}, {"BB",62}, {"CC",60}, {"DD",85}, {"EE",90} };
int len = sizeof(list) / sizeof(list[0]);
cout << "排序前分数:" << endl;
for (int i = 0; i < len; i++)
{
cout << list[i].name << " " << list[i].score << endl;
}
bubbleSort(list, len);
cout << endl << "排序后分数:" << endl;
for (int i = 0; i < len; i++)
{
cout << list[i].name << " " << list[i].score << endl;
}
return 0;
}
```
以上代码会对一个包含5个学生的结构体数组按照分数进行升序排序。请注意,你可以根据自己的需求修改结构体的属性和排序的顺序。
阅读全文