当前位置: 首页 > wzjs >正文

手机搭建个人网站wordpress文章末尾插件

手机搭建个人网站,wordpress文章末尾插件,搜网站首页不见了seo,织梦模板栏目页文件在哪C 库函数 - qsort() 实现快速排序 ⭐️ C 标准库 - <stdlib.h> &#xff08;一&#xff09;、命名介绍 &#x1f36d; qsort 是 C 标准库&#xff08;stdlib.h&#xff09;中提供的一个快速排序函数&#xff0c;用于对数组进行排序。❀它的名字来源于 “Quick Sort”&…

C 库函数 - qsort() 实现快速排序 ⭐️

C 标准库 - <stdlib.h>

(一)、命名介绍 🍭

  • qsortC 标准库(stdlib.h)中提供的一个快速排序函数,用于对数组进行排序。❀
  • 它的名字来源于 “Quick Sort”(快速排序),是一种高效的排序算法。❀
  • qsort 函数的设计非常通用,可以对任意类型的数组进行排序,只需要用户提供一个比较函数来定义排序规则。❀

(二)、函数声明 🍭

在这里插入图片描述

void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *));
参数:🎀
  • base: 指向待排序数组的第一个元素的指针。
  • nitems: 数组中的元素数量。
  • size: 数组中每个元素的大小(以字节为单位)。
  • compar: 比较函数的指针,该函数用于比较两个元素。比较函数应当返回一个整数,表示比较结果:
    • 小于零:表示第一个元素小于第二个元素。
    • 等于零:表示两个元素相等。
    • 大于零:表示第一个元素大于第二个元素。
返回值:🎀
  • 该函数不返回任何值。
举例1: 🎀
#include <stdio.h>  // 引入标准输入输出库,用于使用 printf 等函数
#include <stdlib.h> // 引入标准库,用于使用 qsort 函数// 定义一个包含五个整数的数组
int values[] = { 88, 56, 100, 2, 25 };// 比较函数,用于比较两个整数
int cmpfunc(const void *a, const void *b)
{return (*(int*)a - *(int*)b); // 将 void 指针转换为 int 指针,并返回它们的差值// 如果 a > b,返回正数;a == b,返回 0;a < b,返回负数
}int main()
{int n; // 定义一个整型变量 n,用于循环计数// 输出排序之前的数组内容printf("排序之前的列表:\n");for (n = 0; n < 5; n++) { // 遍历数组 valuesprintf("%d ", values[n]); // 输出数组中的每个元素}// 使用 qsort 函数对数组进行排序qsort(values, 5, sizeof(int), cmpfunc); // 参数说明:// values: 待排序的数组// 5: 数组中的元素个数// sizeof(int): 每个元素的大小(以字节为单位)// cmpfunc: 比较函数的指针// 输出排序之后的数组内容printf("\n排序之后的列表:\n");for (n = 0; n < 5; n++) { // 再次遍历数组 valuesprintf("%d ", values[n]); // 输出排序后的数组中的每个元素}return 0; // 程序正常结束
}

输出结果

排序之前的列表:
88 56 100 2 25 
排序之后的列表:
2 25 56 88 100 
举例2: 🎀

整数数组 排序

#include <stdio.h>  // 引入标准输入输出库,用于使用 printf 等函数
#include <stdlib.h> // 引入标准库,用于使用 qsort 函数// 比较函数:用于定义排序规则
int compare(const void *a, const void *b) {return (*(int *)a - *(int *)b); // 将 void 指针转换为 int 指针,并返回它们的差值// 如果 a > b,返回正数;a == b,返回 0;a < b,返回负数// 这样 qsort 会根据返回值进行升序排序
}int main() {int arr[] = {5, 2, 9, 1, 5, 6}; // 定义一个整型数组,包含 6 个元素int n = sizeof(arr) / sizeof(arr[0]); // 计算数组的长度(元素个数)// 调用 qsort 排序qsort(arr, n, sizeof(int), compare); // 参数说明:// arr: 待排序的数组// n: 数组中的元素个数// sizeof(int): 每个元素的大小(以字节为单位)// compare: 比较函数的指针// 输出排序后的数组printf("Sorted array: "); // 打印提示信息for (int i = 0; i < n; i++) { // 遍历数组printf("%d ", arr[i]); // 输出数组中的每个元素}printf("\n"); // 打印换行符return 0; // 程序正常结束
}

输出结果

Sorted array: 1 2 5 5 6 9
扩展:降序排序 🎈

如果需要降序排序,可以修改 compare 函数如下:👇🏻

int compare(const void *a, const void *b) {return (*(int *)b - *(int *)a); // 降序排序
}

输出结果

Sorted array: 9 6 5 5 2 1
举例3: 🎀

字符串数组 排序

#include <stdio.h>  // 引入标准输入输出库,用于使用 printf 等函数
#include <stdlib.h> // 引入标准库,用于使用 qsort 函数
#include <string.h> // 引入字符串处理库,用于使用 strcmp 函数// 比较函数:按字典序排序字符串
int compareStrings(const void *a, const void *b) {return strcmp(*(const char **)a, *(const char **)b); // 将 void 指针转换为 const char ** 指针,并比较字符串// strcmp 返回值为:// - 如果 a < b,返回负数// - 如果 a == b,返回 0// - 如果 a > b,返回正数// 这样 qsort 会根据返回值按字典序升序排序
}int main() {const char *arr[] = {"apple", "banana", "cherry", "date"}; // 定义一个字符串数组,包含 4 个字符串int n = sizeof(arr) / sizeof(arr[0]); // 计算数组的长度(元素个数)// 调用 qsort 排序qsort(arr, n, sizeof(const char *), compareStrings); // 参数说明:// arr: 待排序的数组// n: 数组中的元素个数// sizeof(const char *): 每个元素的大小(以字节为单位)// compareStrings: 比较函数的指针// 输出排序后的数组printf("Sorted array: "); // 打印提示信息for (int i = 0; i < n; i++) { // 遍历数组printf("%s ", arr[i]); // 输出数组中的每个字符串}printf("\n"); // 打印换行符return 0; // 程序正常结束
}

输出结果

Sorted array: apple banana cherry date
扩展:降序排序 🎈

如果需要降序排序,可以修改 compareStrings 函数如下:👇🏻

int compareStrings(const void *a, const void *b) {return strcmp(*(const char **)b, *(const char **)a); // 降序排序
}

输出结果

Sorted array: date cherry banana apple
举例4: 🎀

结构体数组 排序

#include <stdio.h>  // 引入标准输入输出库,用于使用 printf 等函数
#include <stdlib.h> // 引入标准库,用于使用 qsort 函数
#include <string.h> // 引入字符串处理库,用于使用字符串相关函数// 定义一个结构体
typedef struct {char name[50]; // 姓名,最大长度为 50 的字符数组int age;       // 年龄,整型
} Person;// 比较函数:按年龄升序排序
int compareByAge(const void *a, const void *b) {return ((Person *)a)->age - ((Person *)b)->age; // 将 void 指针转换为 Person 指针,并比较年龄// 如果 a 的年龄 > b 的年龄,返回正数// 如果 a 的年龄 == b 的年龄,返回 0// 如果 a 的年龄 < b 的年龄,返回负数// 这样 qsort 会根据返回值按年龄升序排序
}int main() {// 定义一个 Person 结构体数组,并初始化数据Person people[] = {{"Alice", 25},   // 第一个人:Alice,年龄 25{"Bob", 20},     // 第二个人:Bob,年龄 20{"Charlie", 30}  // 第三个人:Charlie,年龄 30};int n = sizeof(people) / sizeof(people[0]); // 计算数组的长度(元素个数)// 调用 qsort 排序qsort(people, n, sizeof(Person), compareByAge); // 参数说明:// people: 待排序的数组// n: 数组中的元素个数// sizeof(Person): 每个元素的大小(以字节为单位)// compareByAge: 比较函数的指针// 输出排序后的数组printf("Sorted by age:\n"); // 打印提示信息for (int i = 0; i < n; i++) { // 遍历数组printf("%s: %d\n", people[i].name, people[i].age); // 输出每个人的姓名和年龄}return 0; // 程序正常结束
}

输出结果

Sorted by age:
Bob: 20
Alice: 25
Charlie: 30
扩展:按姓名排序 🎈

如果需要按姓名排序,可以修改 compareByAge 函数如下:

// 比较函数:按姓名升序排序
int compareByName(const void *a, const void *b) {return strcmp(((Person *)a)->name, ((Person *)b)->name); // 使用 strcmp 比较姓名
}

修改后的调用

qsort(people, n, sizeof(Person), compareByName);

输出结果

Sorted by name:
Alice: 25
Bob: 20
Charlie: 30

(三)、总结 🍭

  • 1、qsort 是一个通用的排序函数,适用于任意类型的数组。
  • 2、通过自定义比较函数,可以实现升序、降序或其他复杂的排序规则。
  • 3、使用 qsort 时需要注意数据类型的转换和比较函数的实现。

在这里插入图片描述


文章转载自:

http://S6vh6Kal.pLfLq.cn
http://r8BLdS2p.pLfLq.cn
http://6gIXyRLe.pLfLq.cn
http://ofyB8vlA.pLfLq.cn
http://JE1fL9Qa.pLfLq.cn
http://VWqlhruK.pLfLq.cn
http://IYHHyHzp.pLfLq.cn
http://mnmbY24c.pLfLq.cn
http://1ctEdVxO.pLfLq.cn
http://l1GYkPZP.pLfLq.cn
http://9qjBAc8Q.pLfLq.cn
http://BZbxbA7m.pLfLq.cn
http://BpJwunKI.pLfLq.cn
http://qxEGUMP8.pLfLq.cn
http://qJV1kNPX.pLfLq.cn
http://u1Humlay.pLfLq.cn
http://HagLr2Ic.pLfLq.cn
http://q9vAC8fF.pLfLq.cn
http://BKeCPFS2.pLfLq.cn
http://oGHo3RqI.pLfLq.cn
http://7S9HJerk.pLfLq.cn
http://AqvCUEpu.pLfLq.cn
http://VF7aaYmJ.pLfLq.cn
http://EKJt7Qv3.pLfLq.cn
http://ZRBqm52m.pLfLq.cn
http://9xub8sCF.pLfLq.cn
http://hZlsRqrI.pLfLq.cn
http://ecyjIgkr.pLfLq.cn
http://0GQqCC3S.pLfLq.cn
http://QzqRAMYA.pLfLq.cn
http://www.dtcms.com/wzjs/748096.html

相关文章:

  • discuz怎么做h5网站tp框架做商城网站怎么用缓存
  • seo网站推广推荐什么样的网站才是好网站
  • 做数码相的网站免费网站空间php
  • 做内贸在哪些网站上找客户免费企业邮箱排名
  • 网站建设最贵服务商网站logo设计思路
  • 如何增加网站访问量平台推广是什么工作
  • 绿色电器公司网站psd模板做纯净系统的网站
  • 高端+旅游+网站建设wordpress 去掉底部版权
  • 网站制作学什么软件网站建设怎样回答客户问题
  • 杭州做企业网站公司网站域名的所有权
  • 塑胶卡板东莞网站建设支持品质好是什么意思
  • 魔兽做宏网站wordpress首页文章缩略图插件
  • 中核二三公司是国企还是央企东莞网站优化快速排名
  • 汕头模板建站流程好的做蛋糕网站
  • 公司网站简介怎么做wordpress怎么代码高亮
  • 网站默认首页文件顺序企业网页模板图片
  • 一个工厂做网站有用吗游戏加盟招商
  • 怎么自己制作一个网站的书源网站被挂黑链了
  • 晋中市住房保障和城乡建设局网站深圳 环保 骏域网站建设专家
  • 新余专业的企业网站建设公司校园兼职网站建设
  • 做网站的 视频网站设计风格方案
  • 企业网站设计策划案建站平台免费加盟
  • 网站做抽奖活动做qq空间动态皮肤网站
  • 怎么做网站例如京东无极领域0基础12天精通网站建设
  • 学习教建网站做棋牌辅助网站
  • 企业宣传网站源码wordpress 京东主题
  • 建立网站需要多少钱八寇湖南岚鸿团队网络营销策划案范本
  • asp网站改成php重庆一般做一个网站需要多少钱
  • 网站的思维导图怎么做石家庄大型网络公司
  • 建云科技网站首页建设网站需要什么