美文网首页
C语言 day12

C语言 day12

作者: y_7539 | 来源:发表于2022-09-21 14:13 被阅读0次

qsort排序

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>

int com_num(const void* n1, const void* n2) {

    return *(int*)n1 - *(int*)n2;
}


void test1() {

    int arr[] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
    int sz = sizeof(arr) / sizeof(arr[0]);
    qsort(arr, sz, sizeof(arr[0]), com_num);
    for (int i = 0;i < sz;i++) {

        printf("%d ", arr[i]);
    }
}

struct Student
{
    char name[10];
    int age;
};

int com_age(const void* s1, const void * s2)
{
    return ((struct Student*)s1)->age - ((struct Student*)s2)->age;
}

int com_name(const void* s1, const void* s2)
{
    return strcmp(((struct Student*)s1)->name, ((struct Student*)s2)->name);
}

void test2()
{
    struct Student stu[3] = { {"zhangsan", 29},{"lisi", 22},{"wangwu", 21} };
    int sz = sizeof(stu) / sizeof(stu[0]);
    //qsort(stu, sz, sizeof(stu[0]), com_age);
    qsort(stu, sz, sizeof(stu[0]), com_name);
    for (int i = 0; i < sz; i++)
    {
        printf("%s %d\n",stu[i].name, stu[i].age);
    }
}



//快排  qsort
int main() {
    // test1();
    test2();
    return 0;
}

相关文章

  • C语言 day12

    qsort排序

  • C++简答题

    一、简答题 1、C语言与C++语言的区别? 答: C语言是面向过程语言,C++是面向对象语言(OOP) C语言...

  • C语言快速入门 - Hello World 详解

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • C语言快速入门 - 简单运算符

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • C语言快速入门 - 控制语句

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • C语言快速入门 - 变量

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • C语言快速入门

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • C语言如何使用随机数?

    C语言如何使用随机数? 功能介绍推送一些C语言方面的知识,提供C语言/C++语言资料,讨论和学习C语言/C++编程...

  • C++语言学习之面向对象

    1.C语言与C++语言的区别 C++面向对象 C 面向过程 函数+结构体 C++可以运行调用C语言 反之 C语言无...

  • C小白

    一 C语言概述(what)①C语言的特点C语言是一种底层语言,小型语言,包容性语言②C语言的优点高效。可移植。功...

网友评论

      本文标题:C语言 day12

      本文链接:https://www.haomeiwen.com/subject/eamwortx.html