首页 > 其他分享 >创建函数替代qsort函数

创建函数替代qsort函数

时间:2023-02-02 14:06:15浏览次数:32  
标签:函数 int void qsort ++ char width base 替代

#include<stdio.h>
void swap(char* p1,char* p2,int width)
{
int n = 0;
for (n = 0; n < width; n++)
{
char tmp = *p1;
*p1 = *p2;
*p2 = tmp;
p1++;
p2++;
}
}

void bubble_sort(void* base, int sz, int 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 - i - 1; j++)
{
//判断比较,交换位置
//*void无法解引用,无法进行加减,必须强制类型转换
if (cmp((char*)base + j * width, (char*)base + (j + 1) * width) > 0)
{
swap((char*)base + j * width, (char*)base + (j + 1) * width, width);
}
}
}
}

函数bubble_sort可以代替qsort函数。

标签:函数,int,void,qsort,++,char,width,base,替代
From: https://blog.51cto.com/u_15736615/6033521

相关文章

  • 利用腾讯云函数上线CS
    首先,我们需要登录腾讯云,开启云函数。登录腾讯云后,搜索云函数。开通即可。初次登录,需要授权。登录控制台后,点击新建。函数名称随意,选择从头开始,环境填Python3.6,选完后下拉,把......
  • 工业级晶振可替代车规晶振吗?千万要搞清楚
    所以,工业级电子是无法替代车规级的,当然成本也是可见的,毕竟性能甩工业级几条街不是?前天,有个客户询一款​​NDK晶振​​的车规型号,起初给的型号不全,说是之前打样,并没有完整的......
  • PostgreSQL - raise函数打印字符串
    raise函数在PostgreSQL中,该函数用于打印字符串,类似于Java中的​​System.out.println()​​​,Oracle中的​​dbms_output.put_line()​​。用法如下:raisenotice'Mynamei......
  • 函数指针实现加法操作
    1doubleadd(doublex,doubley)2{3returnx+y;4}56//double(*Calulate)(double,double);//声明一个函数指针789doubleCalulate(do......
  • gp4版本安装uuid函数
    1.确认gp的安装目录有python文件夹cd/usr/local/greenplum-db-4.3.17.1/ext/2.安装python扩展      createlangplpythonu-ddatabasename图中的错误提示是......
  • python 的钩子函数
    一、什么是钩子函数hook函数就是在一定条件下才会执行的函数,将自己实现的函数挂载到挂载点上1.hook函数:就是我们自己实现的函数,函数类型与挂载点匹配(返回值,参数列表)2.......
  • JavaScript 中URL构造函数
    前言URL对于我们开发人员来讲,应该是非常熟悉了。在对URL进行参数拼接时,我们一般都会直接进行字符串拼接或使用模版字符串,因为这样非常方便,但是我们这样其实会在不知不觉......
  • 读Java8函数式编程笔记08_测试、调试和重构
    1. Lambda表达式的单元测试1.1. 单元测试是测试一段代码的行为是否符合预期的方式1.2. Lambda表达式没有名字,无法直接在测试代码中调用1.2.1. 将Lambda表达式放入......
  • Linux系统Shell脚本第四章:shell函数
    目录一、shell函数1、函数的作用2、函数使用步骤3、定义函数基本格式4、函数变量5、退出函数6、函数位置变量与脚本位置变量区别 一、shell函数1、函数的作用定......
  • 函数式接口
    函数式接口函数式接口:有且仅有一个抽象方法的接口函数式接口适用于Lambda表达式只有确保接口中有且仅有一个抽象方法,Lambda才能顺利推导定义一个函数式接口@Funct......