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

怎么在记事本上做网站专注网站建设与制作

怎么在记事本上做网站,专注网站建设与制作,金华市网站建设最低价,南阳网站建设口碑目录 1. qsort是什么#xff1f; 2. 为什么要使用qsort 3. qsort的使用 3.1 qsort的返回值和参数 3.2 qsort的compare函数参数 3.3 int类型数组的qsort完整代码 4. qsort完整代码 1. qsort是什么#xff1f; qsort中的q在英语中是quick#xff0c;快速的意思了#…目录 1. qsort是什么 2. 为什么要使用qsort 3. qsort的使用 3.1 qsort的返回值和参数 3.2 qsort的compare函数参数 3.3 int类型数组的qsort完整代码 4. qsort完整代码 1. qsort是什么 qsort中的q在英语中是quick快速的意思了sort就是排序故名为快速排序 2. 为什么要使用qsort 它和冒泡排序都能帮助我们排好序为什么要使用快速排序 因为它快速在数据量很大的时候我们用快速排序的效率是非常高的 并且它不仅可以用于计算机的内置类型int、double、float、char...... 而且还可以用于自己定义的类型结构体、枚举...... 3. qsort的使用 首先要想使用qsort需要包含头文件 stdlib.h然后就可以使用了 先来看看qsort的返回值和参数 3.1 qsort的返回值和参数 base为你要排序数组的首地址类型为void* 因为qsort的开发人员并不知道你需要排序的是一个整型数组还是浮点型数组还是字符串 所以这个指针不能写死为某一个类型而是用来void*void* 可以用来接受任何的类型但它不能进行加减或者解引用运算有利有弊 num为需要排序数组的大小类型为size_t无符号整型大小只能为正或0不能为负 size为数组一个元素的字节大小类型为size_t也是只能为正或0不能为负  最后一个compar为一个函数指针函数返回值为int类型里面的参数是两个const void* compare是用来比较两个数字字符的大小从而进行排序 如果对这个参数不是很了解可以看看我之前写的文章有写到函数指针和函数指针数组 C语言指针的进阶讲解-CSDN博客 3.2 qsort的compare函数参数 这个compare函数是需要我们自己写的是的就是这么麻烦但是熟悉之后这个函数很容易就能写的出来 因为创造者并不知道我们需要排的是个什么数组只有我们使用者才知道所以创造者只能用你给的一些参数的信息来使用qsort进行排序 int Compare(const void* a, const void* b) {return *(int*)a - *(int*)b; } 这是一个用于排序整型的compare函数 首先要写出这个函数我们的返回值和参数必须要跟它需要的一样 我们要比较两个数字的大小那么我们首先要对这两个void类型的指针解引用拿到地址里面的值才能进行比较最后返回一个正数或者负数 但是我们知道void* 是不能进行解引用操作的所以我们必须得要先把这两个参数强制类型转换为int* 然后才能进行解引用操作拿到里面的值最后进行比较返回正数或者负数即可 3.3 int类型数组的qsort完整代码 #include stdio.h #include stdlib.hvoid Print(int* arr, int n) {for (int i 0; i n; i){printf(%d , arr[i]);} }int Compare(const void* a, const void* b) {return *(int*)a - *(int*)b; }int main() {int arr[] { 1,4,5,7,2,3,6,9,8,0 };int sz sizeof(arr) / sizeof(arr[0]);qsort(arr, sz, sizeof(arr[0]), Compare);Print(arr, sz);return 0; } 3.4 char类型数组的qsort完整代码 字符compare也是类似但还是有很多细节要改变 #include stdio.h #include stdlib.h #include string.hvoid Print(char* arr, int n) {for (int i 0; i n; i){printf(%c , arr[i]);} }int Compare(const void* a, const void* b) {return strcmp((char*)a, (char*)b); }int main() {char arr[] bdeafcg;int sz strlen(arr);qsort(arr, sz, sizeof(arr[0]), Compare);Print(arr, sz);return 0; } 首先我们需要引用string.h头文件使用一些关于字符串操作的函数 数组个数sz的计算不能是前面整型的那种方式了需要用库函数strlen计算数组大小 在比较函数里需要使用strcmp比较两个字符这里面不需要解引用因为这个strcmp的两个参数都是需要指针所以传地址即可 qsort甚至还可以用于结构体 具体需要可以看以下完整代码 4. qsort完整代码 #include stdio.h #include stdlib.h #include string.htypedef struct student {char name[20];int age; }STU;int compare1(void* a, void* b) {return *(int*)a - *(int*)b; }int compare2(void* a, void* b) {return strcmp((char*)a, (char*)b); }int compare3(void* a, void* b) {return *(float*)a - *(float*)b; }int compare4(void* a, void* b) {return strcmp(((STU*)a)-name, ((STU*)b)-name); }int compare5(void* a, void* b) {return ((STU*)a)-age - ((STU*)b)-age; }void print1(int* arr, int n) {for (int i 0; i n; i){printf(%d , arr[i]);} }void print2(char* arr, int n) {for (int i 0; i n; i){printf(%c , arr[i]);} }void print3(float* arr, int n) {for (int i 0; i n; i){printf(%.2f , arr[i]);} }void print4(STU* arr, int n) {for (int i 0; i n; i){printf(%s , arr[i].name);} }void print5(STU* arr, int n) {for (int i 0; i n; i){printf(%d , arr[i].age);} }void test1() {int arr[] { 9,6,3,5,8,2,1,7,4 };int sz sizeof(arr) / sizeof(arr[0]);qsort(arr, sz, sizeof(arr[0]), compare1);print1(arr, sz); }void test2() {char arr[] fdghabce;int sz strlen(arr);qsort(arr, sz, sizeof(arr[0]), compare2);print2(arr, sz); }void test3() {float arr[] { 1.1,0.5,3.14,9.4,10.5,1.7 };int sz sizeof(arr) / sizeof(arr[0]);qsort(arr, sz, sizeof(arr[0]), compare3);print3(arr, sz); }void test4() {STU arr[] { {zhangsan, 26}, {lisi, 56}, {wangwu, 18} };int sz sizeof(arr) / sizeof(arr[0]);qsort(arr, sz, sizeof(arr[0]), compare4);print4(arr, sz); }void test5() {STU arr[] { {zhangsan, 26}, {lisi, 56}, {wangwu, 18} };int sz sizeof(arr) / sizeof(arr[0]);qsort(arr, sz, sizeof(arr[0]), compare5);print5(arr, sz); }int main() {//test1();//test2();//test3();//test4();test5();return 0; } 完 感谢观看
http://www.pierceye.com/news/917536/

相关文章:

  • 大良网站制作太原建筑公司网站
  • 网站开发的交付文档抖音代运营费用明细
  • 自适应网站建设沈阳网站安全建设需求
  • 列表主题wordpress国外seo综合查询
  • 装修网站怎么做推广做百度网站每年的费用多少
  • 网站搭建免费视频教程省企联网站建设要求
  • 天津大学生专业做网站建设网站价格
  • 携程网站建设进度及实施过程文具电子商务网站开发内容
  • 怎么查看网站打开速度网站源码整站下载
  • 北京城乡住房建设部网站常见的网络营销推广方式有哪些
  • 做网站的成本费用钱宝网站怎么做任务
  • 网站上的格式用html怎么做部队网站设计
  • 帮客户做网站内容社交网站有哪些如何做
  • 网站开发与设计实训总结两千字公众号制作的网站开发
  • 一个公司做2个产品网站怎么做的用html5做的网站素材
  • 内乡网站建设咸阳网站建设报价
  • 企业网站多少钱扶余手机网站开发
  • 做外汇网站卖判刑多少年如何找回网站后台密码
  • 怎么做优惠券网站asp.net mvc 5网站开发之美
  • 网站底部浮动电话广告福建住房和城乡建设部网站
  • 建站之星破解版wordpress 置顶排序
  • c2c网站代表和网址涟源市建设局网站
  • 哪个网站有免费的模板免费网上商城系统
  • 一个网站的建设需要什么东西前十强排名家装公司
  • 广州网站建设报价表石家庄搜索排名提升
  • 网站备案步骤企业网站手机版模板免费下载
  • 郑州高端品牌网站建设镇江网站营销推广
  • 网站开发简单的框架南昌手机网站
  • 网站分析与优化百度新闻源网站有哪些
  • 直播网站开发秀色上海综合新闻