文章标题
来源:互联网 发布:电视淘宝红包 赚钱吧 编辑:程序博客网 时间:2024/06/18 10:04
用回调函数编写冒泡函数
#include<stdio.h>int int_cmp(void *str1, void *str2){ return *(int *)str1 > *(int *)str2 ? 1 : 0;}int char_cmp(void *str1, void *str2){ return *(char *)str1 > *(char *)str2 ? 1 : 0;}void swap(void *arr[], int x, int y){ void *tmp; tmp = arr[x]; arr[x] = arr[y]; arr[y] = tmp;}void bubble_sort(void *arr[], int len, int(*cmp)(void *a, void *b)) //第三个参数为函数指针,应用了回调函数 { int i = 0; int j = 0; for (i = 0; i < len - 1; i++) //控制比较的趟数 { for (j = 0; j < len - i - 1; j++) //控制每趟比较的次数 { if (cmp(arr[j], arr[j + 1]) == 1) swap(arr, j, j + 1); } }}int main(){ int i = 0; int sz = 10; void *arr[10]; //void 类型的指针数组 printf("请输入你要排序的元素>:"); for (i = 0; i < sz; i++) { arr[i] = (int *)malloc(sizeof(int)); scanf("%d", (int *)arr[i]); } bubble_sort(arr, sz, int_cmp);// 冒泡实现升序排列 printf("输出后的结果是>:"); for (i = 0; i < sz; i++) { printf("%d ", *(int *)arr[i]); } printf("\n"); free(arr); system("pause"); return 0;}
阅读全文
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- OpenCv基础(四):Trackbar(轨迹条)的创建和使用
- Java构建高并发高可用的电商平台架构实践
- 电视:名存实亡,NTSC 色域
- Oracle数据库面试题
- Rspamd_rule_subject_checks.lua自己的理解
- 文章标题
- java总结系列之一( 开题报告)
- python3使用builtwith识别网站使用相关技术
- 《java源码之路 一》定时器
- clion 代码自动对齐
- 8.1.1 Hibernate:一对一单向关联(unidirectional)
- latex使用技巧
- 使用aws elastic beanstalk 部署 java springboot application
- SpringBoot(一):构建第一个SpringBoot工程