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

做网站1200博物馆网站做的好的

做网站1200,博物馆网站做的好的,郑州网站优化培训,品牌网站建设公1.qsort函数 1.1qsort函数的介绍 资源来源于cplusplus网站 1.2qsort函数的主要功能 对数组的元素进行排序 对数组中由 指向的元素进行排序,每个元素字节长,使用该函数确定顺序。 此函数使用的排序算法通过调用指定的函数来比较元素对,并将指…

1.qsort函数

1.1qsort函数的介绍

资源来源于cplusplus网站
在这里插入图片描述

1.2qsort函数的主要功能

在这里插入图片描述

对数组的元素进行排序
对数组中由 指向的元素进行排序,每个元素字节长,使用该函数确定顺序。
此函数使用的排序算法通过调用指定的函数来比较元素对,并将指向它们的指针作为参数。
该函数不返回任何值,但通过重新排序数组的元素(如 所定义)来修改指向的数组的内容。
等效元素的顺序未定义。

void qsort (void* base, size_t num, size_t size,int (*compar)(const void*,const void*));

qsort函数有4个参数,第一个是需要比较的元素的地址,第二个是比较的元素的个数,第三个是比较的元素的大小(单位字节),第四个是自定义比较函数的地址(这个是需要使用者自己根据数据类型自己实现的)

2.函数的实现

2.1主要函数bubble_sort的实现

void bubble_sort(void* base,size_t sz,size_t width,int (*cmp)(const void* e1,const void* e2))
{//趟数int i = 0;for (i = 0; i < sz-1; i++){//一趟冒泡排序int j = 0;for (j = 0; j < sz - 1 - i; j++){if (cmp((char*)base+j*width, (char*)base + (j + 1)*width) > 0){//交换Swap((char*)base + j*width, (char*)base + (j + 1)*width,width);//width是比较元素的宽度}}}
}

2.2交换函数Swap函数的实现

void Swap(char* buf1, char* buf2, size_t width)
{int i = 0;for (i = 0; i < width; i++){char tmp = *buf1;*buf1 = *buf2;*buf2 = tmp;buf1++;buf2++;}
}

2.3bubble_sort函数测试整型数据

#include<stdiio.h>
void Swap(char* buf1, char* buf2, size_t width)
{int i = 0;for (i = 0; i < width; i++){char tmp = *buf1;*buf1 = *buf2;*buf2 = tmp;buf1++;buf2++;}
}
//自定义比较的函数(以整型为例)
int cmp_int(const void* e1, const void* e2)
{return *(int*)e1 - *(int*)e2;
}
void bubble_sort(void* base,size_t sz,size_t width,int (*cmp)(const void* e1,const void* e2))
{//趟数int i = 0;for (i = 0; i < sz-1; i++){//一趟冒泡排序int j = 0;for (j = 0; j < sz - 1 - i; j++){if (cmp((char*)base+j*width, (char*)base + (j + 1)*width) > 0){Swap((char*)base + j*width, (char*)base + (j + 1)*width,width);}}}
}
//自定义打印函数(整型打印)
void print1(int* arr,size_t sz)
{int i = 0;for (i = 0; i < sz; i++){printf("%d ", arr[i]);}
}
//bubble_sort函数测试整型数据
void Test1()
{int arr[] = { 3,5,2,4,7,8,6,9,0,1 };int sz = sizeof(arr) / sizeof(arr[0]);int width = sizeof(arr[0]);bubble_sort(arr, sz, width, cmp_int);print(arr, sz);
}
int main()
{Test1();return 0;
}

在这里插入图片描述

2.4bubble_sort函数测试结构体数据

#include<stdio.h>
#include<string.h>
//实现交换的函数
void Swap(char* buf1, char* buf2, size_t width)
{int i = 0;for (i = 0; i < width; i++){char tmp = *buf1;*buf1 = *buf2;*buf2 = tmp;buf1++;buf2++;}
}
//定义结构体类型
struct S
{char name[20];int age;
};//自定义比较函数(结构体数据)
//1.用名字比较(需要用到字符串比较函数strcmp,头文件<string.h>)
//int cmp_stu_by_name(const void* e1, const void* e2)
//{//return strcmp(((struct S*)e1)->name, ((struct S*)e2)->name);
//}
//2.用年龄比较
int cmp_stu_by_age(const void* e1, const void* e2)
{return ((struct S*)e1)->age - ((struct S*)e2)->age;
}
void bubble_sort(void* base,size_t sz,size_t width,int (*cmp)(const void* e1,const void* e2))
{//趟数int i = 0;for (i = 0; i < sz-1; i++){//一趟冒泡排序int j = 0;for (j = 0; j < sz - 1 - i; j++){if (cmp((char*)base+j*width, (char*)base + (j + 1)*width) > 0){Swap((char*)base + j*width, (char*)base + (j + 1)*width,width);}}}
}
void print2(struct S* arr, size_t sz)
{int i = 0;for (i = 0; i < sz; i++){printf("%s %d\n", arr[i].name, arr[i].age);}
}//bubble_sort函数测试结构体数据
void Test2()
{struct S arr2[] = { {"zhangsan",27},{"lisi",35},{"wamgwu",31}};int sz = sizeof(arr2) / sizeof(arr2[0]);int width = sizeof(arr2[0]);//bubble_sort(arr2, sz, width, cmp_stu_by_name);//以名字排序bubble_sort(arr2, sz, width, cmp_stu_by_age);//以年龄排序print2(arr2, sz);
}
int main()
{Test2();return 0;
}

1.用名字比较

在这里插入图片描述

2.用年龄比较

在这里插入图片描述

http://www.yayakq.cn/news/421205/

相关文章:

  • google网站建设代理有没有做高仿的网站
  • 葫芦岛市营商环境建设管理局网站招远市建设局网站
  • 手机网站开发步骤软件外包平台的服务商
  • 旅游网站规划设计方案沈阳建设工程信息网浑南新区
  • 国际域名的外贸网站如何做一个网页设计方案
  • 网站的反链要怎么做自己做网站能否赚钱6
  • 南宁企业自助建站做任务领黄钻的网站
  • 网站开发sshwordpress 前端用户中心
  • 如何编辑网站后台自己做彩票网站合法吗
  • 自己提供域名做网站门户网站是用户上网的第一入口
  • 贵州安顺建设主管部门网站简述网站建设基本流程答案
  • 多城市二手车网站源码成都网站优化seo
  • 建聊天网站企业信息管理系统的设计与实现
  • wordpress图片主题免费下载快手seo
  • 北京做网站推广的公司企业网站建设需要资料
  • 建设银行如何网站设置密码旅游电子商务网站建设规划方案
  • 做直播券的网站有多少改图宝在线编辑图片
  • 网站建设文库 新的开始丹阳做网站的
  • php 网站部署到服务器免费学做美食视频网站
  • 怎样用dw做网站导航条html5的网站设计
  • 韩国网站的风格wordpress直接显示文章
  • 做音乐网站用什么程序漫画网站源码
  • 公司想做一个网站上海企业网络专线
  • 本地怎样做网站wordpress第三方客户端
  • 安徽金路建设集团有限公司网站摄影网站建设目的
  • 最好的网站开发wordpress acf教程
  • wordpress有哪些网站吗手机商城设计
  • 徐州住房与城乡建设部网站搜索引擎营销方法主要有三种
  • 访问不了服务器的网站淘宝网站的建设目的是什么意思
  • 高职院校高水平专业建设网站外发加工平台