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

网站开发软硬件配置网站建设的步骤教学

网站开发软硬件配置,网站建设的步骤教学,wordpress评论模版,小程序开发公司前十名目录#xff1a; 1.qsort介绍 2.使⽤qsort函数 排序 整型数据 3.使⽤qsort函数 排序 结构体数据 4. qsort函数的模拟实现冒泡排序 qsort()函数 是一个 C语言编译器函数库自带的排序函数#xff0c; 它可以对指定数组#xff08;包括字符串#xff0c;二维数组#x… 目录 1.qsort介绍 2.使⽤qsort函数 排序 整型数据  3.使⽤qsort函数 排序 结构体数据  4. qsort函数的模拟实现冒泡排序 qsort()函数 是一个 C语言编译器函数库自带的排序函数 它可以对指定数组包括字符串二维数组结构体等进行排序。 头文件:stdlib.h qsort函数原型 void qsort(void *base, //指针指向的是待排序的数组的第一个元素size_t num, //是base指向的待排序数组的元素个数size_t size, //base指向的待排序数组的元素的大小字节数int (*compar)(const void *, const void *) //函数指针); compar参数是qsort函数排序的核心内容它指向一个比较两个元素的函数注意两个形参必须是const void *型同时在调用compar 函数compar实质为函数指针这里称它所指向的函数也为compar时传入的实参也必须转换成const void *型。在compar函数内部会将const void *型转换成实际类型。  如果compar返回值小于0 0那么p1所指向元素会被排在p2所指向元素的前面 。如果compar返回值等于0 0那么p1所指向元素与p2所指向元素的顺序不变 。如果compar返回值大于0 0那么p1所指向元素会被排在p2所指向元素的后面 。 因此如果想让qsort()进行从小到大升序排序 那么一个通用的compar函数可以写成这样 int compare (const void * a, const void * b){if ( *(MyType*)a *(MyType*)b )return -1;if ( *(MyType*)a *(MyType*)b )return 0;if ( *(MyType*)a *(MyType*)b ) return 1;} 如果你要将MyType换成实际数组元素的类型。 可以 //升序排序int compare (const void * a, const void * b){return ( *(int*)a - *(int*)b );//强制类型转换后进行访问}//降序排列int compare (const void * a, const void * b){return ( *(int*)b - *(int*)a );} 1.使⽤qsort函数 排序整型数据  2.使⽤qsort排序 结构体数据  #include stdio.h #include stdlib.h #include string.h struct Stu //学⽣ {char name[20];//名字int age;//年龄 };//假设按照年龄来⽐较 int cmp_stu_by_age(const void* e1, const void* e2) {return ((struct Stu*)e1)-age - ((struct Stu*)e2)-age; } //结构体变量.成员名 //结构体指针-成员名//假设按照名字来⽐较 int cmp_stu_by_name(const void* e1, const void* e2) {return strcmp(((struct Stu*)e1)-name, ((struct Stu*)e2)-name); } //strcmp - 是库函数是专⻔⽤来⽐较两个字符串的⼤⼩的//是按照对应字符串中字符的ASCII码值比较的//按照年龄来排序 void test2() {struct Stu s[] { {zhangsan, 20}, {lisi, 30}, {wangwu, 15} };int sz sizeof(s) / sizeof(s[0]);qsort(s, sz, sizeof(s[0]), cmp_stu_by_age); }//按照名字来排序 void test3() {struct Stu s[] { {zhangsan, 20}, {lisi, 30}, {wangwu, 15} };int sz sizeof(s) / sizeof(s[0]);qsort(s, sz, sizeof(s[0]), cmp_stu_by_name); }int main() {test2();//按照年龄来排序test3();//按照名字来排序return 0; } 3. qsort函数的模拟实现冒泡排序 使⽤回调函数模拟实现qsort采⽤冒泡的⽅式  #include stdio.hint int_cmp(const void * p1, const void * p2) {return (*( int *)p1 - *(int *) p2); }void swap(void *p1, void * p2, int size) //交换两个元素//void*的指针 是无具体类型的指针 { //作用是接收任何类型的地址 int i 0;for (i 0; i size; i){char tmp *((char *)p1 i);*(( char *)p1 i) *((char *) p2 i);*(( char *)p2 i) tmp;} } void bubble(void *base, int count , int size, int(*cmp )(void *, void *)) {int i 0;int j 0;for (i 0; i count - 1; i){for (j 0; jcount-i-1; j){ //实现升序看 是否0 是否进行交换if (cmp ((char *) base j*size , (char *)base (j 1)*size) 0){ //相当于冒泡排序中的arr[j]与arr[j1]swap(( char *)base j*size, (char *)base (j 1)*size, size);}}} }int main(){int arr[] { 1, 3, 5, 7, 9, 2, 4, 6, 8, 0 };int i 0;bubble(arr, sizeof(arr) / sizeof(arr[0]), sizeof (int), int_cmp);//自制冒泡排序for (i 0; i sizeof(arr) / sizeof(arr[0]); i){printf( %d , arr[i]);//实现升序排列}printf(\n);return 0; } 分享到这里感谢观看
http://www.hkea.cn/news/14481637/

相关文章:

  • 学校网站建设情况采集wordpress整站数据
  • p2p网站开发软件开发工具的发展趋势是
  • 定制网站开发系统wordpress 语录小程序
  • 网站编辑信息怎么做出国劳务信息
  • 旅游网站建设的结论软文推广有哪些
  • 互联二维码生成器陕西关键词优化推荐
  • 九易建网站的建站流程黄骅市旅游景点有哪些
  • 消防做ccc去那个网站电子商务网页设计与网站建设
  • 国外营销型网站怎样做网站的优化工作
  • 卓业网站建设新浪博客怎样上传wordpress
  • 高端网站建设与制作wordpress 配置邮箱
  • 网站项目需求分析网站建设价格是多少
  • 上海网站建设上海广告外链购买平台
  • 建设银行在网站上开通短信提醒wordpress怎么编辑模板
  • 道路建设网站北京网站设计实力乐云践新
  • 电商网站开发报告网站建设需要在网络上如何实现
  • 网站建设开发 脚本语言优速网站建设
  • 网站的性能特点移动互联网应用程序管理情况
  • 企业网站的建设要注意什么中国建设银行的官方网站
  • 夜场酒吧娱乐ktv类企业网站源码怎么做自己的设计网站
  • 网站及数据库怎么做后门做网站优化时 链接名称"首页"有必要添加nofollow吗?
  • 兰州市住房保障和城乡建设局网站文本网站代码空两格怎么做
  • wordpress文章自动tag石家庄seo
  • 内网建立网站网站开发软件排名
  • 网站开发师贴吧品牌整合营销机构
  • 马鞍山市网站建设公司大型外包软件公司有哪些
  • eclipse做企业网站网站建设费用兴田德润团队
  • 一元建站想自己做衣服上哪个网站学
  • 网页设计与网站建设标准数据html5教程电子书
  • 做网站的视频教学深圳定制钻戒哪里好推荐