sort 结构数组排序
在编程中,对结构数组进行排序是一个常见的任务。不同的编程语言提供了不同的方法来实现这一目标。以下是使用几种常见编程语言对结构数组进行排序的示例。
C语言
在C语言中,可以使用qsort函数对结构体数组进行排序。你需要定义一个比较函数来指定排序的规则。
include <stdio.h>
include <stdlib.h>
typedef struct {
    int id;
    char name[50];
} Person;
int compare(const void *a, const void *b) {
    Person *personA = (Person *)a;
    Person *personB = (Person *)b;
    return personA->id - personB->id;
}
int main() {
    Person people[] = {
        {1, "Alice"},
        {3, "Bob"},
        {2, "Charlie"}
    };
    int n = sizeof(people) / sizeof(Person);
    qsort(people, n, sizeof(Person), compare);
    for (int i = 0; i < n; i++) {
        printf("%d %s\n", people[i].id, people[i].name);
    }
    return 0;
sort函数 js
}
Python
在Python中,你可以使用内置的sorted函数对结构体数组进行排序。
class Person:
    def __init__(self, id, name):
        self.id = id
        self.name = name
people = [Person(1, "Alice"), Person(3, "Bob"), Person(2, "Charlie")]
sorted_people = sorted(people, key=lambda person: person.id)
for person in sorted_people:
    print(person.id, person.name)
JavaScript (Node.js)
在JavaScript中,你可以使用内置的sort方法对结构体数组进行排序。
class Person {
    constructor(id, name) {
        this.id = id;
        this.name = name;
    }
}
const people = [new Person(1, "Alice"), new Person(3, "Bob"), new Person(2, "Charlie")];
people.sort((a, b) => a.id - b.id);
console.log(people.map(person => `${person.id} ${person.name}`).join("\n"));
这些示例展示了如何使用不同的编程语言对结构体数组进行排序。选择适合你项目需求的语言和排序方法。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。