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

网站信息资源建设包括哪些系统软件开发服务

网站信息资源建设包括哪些,系统软件开发服务,正安县住房和城乡建设局网站,网站开发的研究计划书大家好#xff0c;我是苏貝#xff0c;本篇博客带大家了解qsort函数#xff0c;如果你觉得我写的不错的话#xff0c;可以给我一个赞#x1f44d;吗#xff0c;感谢❤️ 文章目录 一. qsort函数参数详解1.数组首元素地址base2.数组的元素个数num和元素所占内存空间大小w… 大家好我是苏貝本篇博客带大家了解qsort函数如果你觉得我写的不错的话可以给我一个赞吗感谢❤️ 文章目录 一. qsort函数参数详解1.数组首元素地址base2.数组的元素个数num和元素所占内存空间大小width3.自定义比较函数cmp 二. cmp函数1. 对整型数组排序char/short/int/long2 .对浮点型数组排序(float/double)3.对字符串长度和大小排序3.1 对字符串长度排序3.2 对字符串大小排序 4.对结构体排序 一. qsort函数参数详解 函数原型void qsort( void *base, size_t num, size_t width, int (__cdecl *compare )(const void *elem1, const void *elem2 ) ); 头文件stdlib.h 返回值无 1.数组首元素地址base 如果想将一组数据进行排序那么就要知道该数组首元素地址。base的类型为void* 代表base可以是任意类型的指针(地址)也就是说数组可以是任意类型的。比如base的类型为int * ,代表该数组的类型为intbase的类型为double * ,代表该数组的类型为double 2.数组的元素个数num和元素所占内存空间大小width 如果想将一组数据进行排序要知道该数组首元素地址和最后一个元素的地址但最后一个元素地址不方便作为参数所以要知道数组的元素个数num和一个元素所占内存空间大小width。size_t是无符号整型 3.自定义比较函数cmp cmp原型int cmp(const void *a, const void *b ) ; a,b的类型为void * 也代表它们可以是任意类型的变量 注意 1.不管ab是何种类型的变量cmp返回值的类型永远是int 2.* a和 *b前都要加const确保 *a和 *b的值不会被改变 如果想了解const请点击该链接 二. cmp函数 先将a和b强制类型转换为数组的类型如数组的类型为int那么将a和b强制类型转换为int* 类型如数组的类型为double那么将a和b强制类型转换为double* 类型。再让指针变量pa和pb分别指向a和b指向的内容。用num1和num2分别存储pa和pb指向的内容。返回一个值注意对于不同的类型return后面的表达式也不尽相同 1. 对整型数组排序char/short/int/long int cmp(const void* a, const void* b) {int* pa (int*)a;int* pb (int*)b;int num1 *pa;int num2 *pb;return num1 - num2;//升序//return num2 - num1;//降序 }可以简写为 int cmp(const void* a, const void* b) {return *(int*)a - *(int*)b;//升序//return *(int*)b - *(int*)a;//降序 }字符在内存中存储的是字符的ASCII码值ASCII码是整型所以char的写法同int int cmp(const void* a, const void* b) {return *(char*)a - *(char*)b;//升序//return *(char*)b - *(char*)a;//降序 }int main() {char arr[6] { 1,3,4,2,8,6};qsort(arr, 6, sizeof(char), cmp);int i 0;for (i 0; i 6; i)printf(%c\n, arr[i]);return 0; }2 .对浮点型数组排序(float/double) cmp的返回值类型为int若数组为double如果用return (int)(* (char*)a - * (char*)b); 小数会被丢失造成结果不准确所以用下面的判断返回值 int cmp(const void* a, const void* b) {return *(double*)a *(double*)b ? 1 : -1;//升序//return *(double*)a *(double*)b ? 1 : -1;//降序 }3.对字符串长度和大小排序 3.1 对字符串长度排序 int cmp(const void* a, const void* b) {return strlen((char*)a) - strlen((char*)b);//升序//return strlen((char*)b) - strlen((char*)a);//降序 }int main() {char arr[3][20] { hello world,yes,sir,dian ge zan ba };qsort(arr[0], 3, sizeof(arr[0]), cmp);int i 0;for (i 0; i 3; i)printf(%s\n, arr[i]);return 0; }3.2 对字符串大小排序 int cmp(const void* a, const void* b) {return strcmp((char*)a,(char*)b); }int main() {char arr[3][20] { hello world,yes,sir,dian ge zan ba };qsort(arr[0], 3, sizeof(arr[0]), cmp);int i 0;for (i 0; i 3; i)printf(%s\n, arr[i]);return 0; }4.对结构体排序 对下面结构体数据中的语文成绩进行降序排序 typedef struct a {char name[20];int Chinese;int Math;int English; }student;int cmp(const void* a, const void* b) {student* pa (student*)a;student* pb (student*)b;int num1 pa-Chinese;int num2 pb-Chinese;//return num1 - num2;//升序return num2 - num1;//降序 }int main() {student stu[4] { {zhang,66,77,88},{lisi,60,70,80},{wangwu,73,76,98},{xuer,88,89,95}};qsort(stu, 4, sizeof(student), cmp);int i 0;for (i 0; i 4; i){printf(%s\t, stu[i].name);printf(%d\t, stu[i].Chinese);printf(%d\t, stu[i].Math);printf(%d\n, stu[i].English);}return 0; }好了那么本篇博客就到此结束了如果你觉得本篇博客对你有些帮助可以给个大大的赞吗感谢看到这里我们下篇博客见❤️
http://www.pierceye.com/news/580255/

相关文章:

  • 如何设置自己的网站网站建设的常用词
  • 甘肃网站开发冷色调网站
  • 用cdr做网站设计尺寸要多少网站如何做实名验证码
  • 比较好的设计网站wordpress主题代码哪里
  • 专门学习网站建设读什么专业南山网站设计公司
  • 专业网站设计模板深圳最专业的高端网站建设
  • cc域名做网站怎么样无锡个人网站建设
  • 网站模板设计报价单小学网站建设设计方案
  • 二级域名网站怎么投广告wordpress自定义输入
  • su域名注册如何做360网站优化
  • 企业网站空间不足怎么办incapsula wordpress
  • 网站建设 镇江万达wordpress简
  • 做p2p理财网站开发公司销售人员竞聘演讲稿
  • 建设网站广州唯品会网站架构
  • 网站开发的国内外研究现状家庭装潢设计
  • 安卓从网站获取视频怎么做有没有做网站的公司
  • 网站设计计划书的内容如何做1个手机网站
  • 义乌网站建设技术托管seo营销服务
  • 一块钱购物网站山东专业网站建设
  • 凡科建站怎么删除网站建设电子商务网站建设分析
  • 公众号 微网站开发西安网站建设熊掌号
  • 商城网站开发哪家好长春网站建设推荐网诚传媒
  • 网站被墙怎么做跳转重庆网站建设找重庆万为
  • 学做网站的书哪些好电子商务网站设计包括哪些内容
  • 网站建设需求 百度文库kompozer wordpress
  • 菜篮网网站开发技术山东省住房和城乡建设厅领导名单
  • 域名备案与网站备案的区别深圳建筑公司招聘信息
  • 网站开发完后如何上线淘宝上网站建设好便宜
  • 云南省科技网站网站建设的推广渠道
  • 网页网站设计公司排行榜南京专业app开发定制