qsort对动态二维数组进行排序

本文介绍如何使用qsort函数对动态二维字符数组进行排序,以字符串为例,详细解析了排序过程和内存布局,并提供了适用于32位和64位操作系统的代码示例。
摘要由CSDN通过智能技术生成

1,关于网上对于qsort函数对一维数组,二维数组(即字符串,形如char ch[2][6];strcpy(ch[0],"Hello");strcpy(ch[1],"World"); 对”Hello"和"World"排序。)的排序的介绍比较常见,本文介绍了使用qsort函数对动态二维数组(即对字符串进行排序。形如:char**p=new char*[2]; p[0]=new char[6];strcpy(p[0],"Hello");p[1]=new char[6];strcpy(p[1],"World"); 对”Hello"和"World"排序。)进行排序(关于二维数组和动态二维数组内存布局的不同,见http://blog.chinaunix.net/uid-26807100-id-4222404.html)。

点击(<span style="cursor:pointer;color:red;" code_hide="="code_hide('code398')">此处)折叠或打开

  1. /*
  2. void qsort(void *base,int nelem,int width,int(*fcmp)(const void*,const void*));
  3. 功 能:使用快速排序例程进行排序
  4. 参数:1 待排序数组首地址;2 数组中待排序元素数量;3 各元素的占用空间大小;4 指向函数的指针,用于确定排序的顺序

  5. qsort 的函数原型:
  6. void __cdecl qsort (void*base,size_tnum,size_t width,int(__cdecl*comp)(const void *,const void*))
  7. 其中base是排序的一个集合数组,num是这个数组元素的个数,width是一个元素的大小,comp是一个比较函数,其中comp函数的参数为指向base数组元素地址的指针

  8. 比如:
  9. 对一个长为1000的数组进行排序时,int a[1000]; 那么base应为a,num应为 1000,width应为 sizeof(int),comp函数随自己的命名。
  10. qsort(a,1000,sizeof(int)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值