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

免费 网站wordpress 提请审批

免费 网站,wordpress 提请审批,百度搜索大数据,哪里下载中文版的wordpressC语言实现堆排序#xff08;Heap Sort#xff09; 1. 代码实现 下面是 C语言实现的堆排序接口#xff0c;支持 通用数据类型排序#xff0c;并采用 函数指针 进行 自定义比较#xff0c;适用于 整数排序 或 结构体排序。 完整代码 大根堆 #include stdio.h #…C语言实现堆排序Heap Sort 1. 代码实现 下面是 C语言实现的堆排序接口支持 通用数据类型排序并采用 函数指针 进行 自定义比较适用于 整数排序 或 结构体排序。 完整代码 大根堆 #include stdio.h #include stdlib.h #include string.h/* 比较函数指针返回值 0 表示 a b0 表示相等0 表示 a b */ typedef int (*compare_func)(const void *, const void *);/* 交换函数 */ static void swap(void *a, void *b, size_t size) {void *temp malloc(size);if (temp) {memcpy(temp, a, size);memcpy(a, b, size);memcpy(b, temp, size);free(temp);} }/* 调整堆保持最大堆性质 */ static void heapify(void *base, size_t nmemb, size_t size, size_t root, compare_func cmp) {size_t largest root;size_t left 2 * root 1;size_t right 2 * root 2;char *arr (char *)base;if (left nmemb cmp(arr left * size, arr largest * size) 0) {largest left;}if (right nmemb cmp(arr right * size, arr largest * size) 0) {largest right;}if (largest ! root) {swap(arr root * size, arr largest * size, size);heapify(base, nmemb, size, largest, cmp);} }/* 建立最大堆 */ static void build_heap(void *base, size_t nmemb, size_t size, compare_func cmp) {for (ssize_t i (nmemb / 2) - 1; i 0; i--) {heapify(base, nmemb, size, i, cmp);} }/* 堆排序 */ void heap_sort(void *base, size_t nmemb, size_t size, compare_func cmp) {if (!base || nmemb 2 || !cmp) return;build_heap(base, nmemb, size, cmp);char *arr (char *)base;for (size_t i nmemb - 1; i 0; i--) {swap(arr, arr i * size, size);heapify(base, i, size, 0, cmp);} }/* 整数比较函数 */ int int_compare(const void *a, const void *b) {return (*(int *)a - *(int *)b); }/* 测试代码 */ int main() {int arr[] {12, 11, 13, 5, 6, 7};size_t n sizeof(arr) / sizeof(arr[0]);printf(原始数组: );for (size_t i 0; i n; i) {printf(%d , arr[i]);}printf(\n);heap_sort(arr, n, sizeof(int), int_compare);printf(排序后数组: );for (size_t i 0; i n; i) {printf(%d , arr[i]);}printf(\n);return 0; }小根堆 #include stdio.h #include stdlib.h #include string.h/* 比较函数指针返回值 0 表示 a b0 表示相等0 表示 a b */ typedef int (*compare_func)(const void *, const void *);/* 交换函数 */ static void swap(void *a, void *b, size_t size) {void *temp malloc(size);if (temp) {memcpy(temp, a, size);memcpy(a, b, size);memcpy(b, temp, size);free(temp);} }/* 调整堆保持小根堆性质 */ static void min_heapify(void *base, size_t nmemb, size_t size, size_t root, compare_func cmp) {size_t smallest root;size_t left 2 * root 1;size_t right 2 * root 2;char *arr (char *)base;if (left nmemb cmp(arr left * size, arr smallest * size) 0) {smallest left;}if (right nmemb cmp(arr right * size, arr smallest * size) 0) {smallest right;}if (smallest ! root) {swap(arr root * size, arr smallest * size, size);min_heapify(base, nmemb, size, smallest, cmp);} }/* 建立小根堆 */ static void build_min_heap(void *base, size_t nmemb, size_t size, compare_func cmp) {for (ssize_t i (nmemb / 2) - 1; i 0; i--) {min_heapify(base, nmemb, size, i, cmp);} }/* 小根堆排序 */ void min_heap_sort(void *base, size_t nmemb, size_t size, compare_func cmp) {if (!base || nmemb 2 || !cmp) return;build_min_heap(base, nmemb, size, cmp);char *arr (char *)base;for (size_t i nmemb - 1; i 0; i--) {swap(arr, arr i * size, size);min_heapify(base, i, size, 0, cmp);} }/* 整数比较函数小根堆适用 */ int int_compare_min(const void *a, const void *b) {return (*(int *)a - *(int *)b); }/* 测试代码 */ int main() {int arr[] {12, 11, 13, 5, 6, 7};size_t n sizeof(arr) / sizeof(arr[0]);printf(原始数组: );for (size_t i 0; i n; i) {printf(%d , arr[i]);}printf(\n);min_heap_sort(arr, n, sizeof(int), int_compare_min);printf(小根堆排序后数组: );for (size_t i 0; i n; i) {printf(%d , arr[i]);}printf(\n);return 0; }
http://www.hkea.cn/news/14343612/

相关文章:

  • 深圳网站制作开发排名建设企业银行登录
  • wordpress的rest api北京seo关键词排名优化软件
  • 如何查看百度蜘蛛来过网站wordpress 微网站模板
  • 宁波网站推广联系方式wordpress ajax取头像
  • 给企业做网站 工作python新手代码
  • 无锡哪里做网站好淘宝客网站 备案
  • 高阳县做企业网站辽宁建设工程信息网app
  • 网站建设运营法律风险防范wordpress站点路径
  • 网站轮播图片psd源码网络设计方案书中内容很多
  • 四川省建设工程招投标网站星空 电影 在线观看
  • 毕设做网站答辩会要求当场演示吗网页设计与网站建设基础心得体会
  • 网站建设需要入无形资产吗做网站要买服务器吗
  • 加强机关网站内容建设网站标题优化工具
  • 网站建设微信公众号做个公众号需要多少钱
  • 宝塔做的网站能不能访问做网站怎么穿插元素
  • 蚌埠铁路建设监理公司网站湖北最专业的公司网站建设平台
  • 网站建设 dw 时间轴网站设计建设代理机构
  • 合肥专业网站建设公司哪家好seo零基础教学
  • 海东市网站建设不让网站在手机怎么做
  • 网站开发设计的论文上海网站推广专员需求
  • 一站式软文发布推广平台百度sem优化师
  • 开发网站报价方案提高工作效率的句子
  • 建设网站答题赚钱电子商务 网站建设
  • 沧州做网站的深圳做网站要多少
  • 做网站前应该怎么处理扬州天达建设集团有限公司网站
  • 龙华网站建设公司视频网站开发意义
  • 嘉兴建站公司常州网站关键词优化软件
  • 网站建设丽水园林网站建设设计方案
  • 竟标网站源码青岛网站推广公司排名
  • 网游网站开发自助建站平台搭建