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

网站开发功能需求文档百度搜索榜单

网站开发功能需求文档,百度搜索榜单,影视网站开发工程师,网址导航哪个好?qsort及应用 qsort:快速排序函数,需要引用stdlib.h文件. void qsort( void *base, size_t num, size_t width, int (__cdecl *compare )(const void *, const void *) ); 参数: base:需要排序的数组 num:数据个数(数组长度) width:每个数据的字节数(sizeof(数据类型)) compa…

qsort及应用

qsort:快速排序函数,需要引用stdlib.h文件.

void qsort(
void *base,
size_t num,
size_t width,
int (__cdecl *compare )(const void *, const void *)
);
参数:
base:需要排序的数组
num:数据个数(数组长度)
width:每个数据的字节数(sizeof(数据类型))
compare:比较大小的依据

        在进行排序时,一定需要比较两个数据的大小,由于qsort能对任意的数据进行排序,那么它无法知道排 序的规则,这个需要使用的人通过参数把这个传递给qsort,也就是上面的compare参数。

下面列举一些利用qsort的应用示例.

1.对char类型排序(注意是字符,不是字符串)

2.对int类型排序

3.对double类型排序

4.对Student类型,按姓名排序

5.对Student类型,按分数排序

 

typedef struct Student
{
char name[20];//姓名
int score;//分数
}Student;
int Cmp_char(const void* vp1, const void* vp2)
{
return *(char*)vp1 - *(char*)vp2;
}
//int Cmp_int(int* p1, int* p2)
int Cmp_int(const void *vp1,const void*vp2)
{
return *(int*)vp1 - *(int*)vp2;//默认升序
//return -( *(int*)vp1-*(int*)vp2);//降序
}
//int Cmp_double(const double*vp1,const double *vp2);
int Cmp_double(const void* vp1, const void* vp2)
{
//return *(double*)vp1 - *(double*)vp2; //12.3-12.7 == -0.4 -> 0 (这两个
相等) 错误的
double tmp = *(double*)vp1 - *(double*)vp2;
if (tmp > 0)
return 1;
else if (tmp < 0)
return -1;
else
return 0;
}
int Cmp_stu_src(const void* vp1, const void* vp2)
{
return ((Student*)vp1)->score - ((Student*)vp2)->score;
}
int Cmp_stu_name(const void* vp1, const void* vp2)
{
return strcmp(((Student*)vp1)->name, ((Student*)vp2)->name);
}
void Show(int* arr, int len)
{
for (int i = 0; i < len; i++)
{
printf("%d ",arr[i]);
}
printf("\n");
}
void Show(double* arr, int len)
{
for (int i = 0; i < len; i++)
{
printf("%.2lf ",arr[i]);
}
printf("\n");
}
void Show(Student* arr, int len)
{
for (int i = 0; i < len; i++)
{
printf("%s,%d\n",arr[i].name,arr[i].score);
}
}
int main()
{
char arr[] = "aajdsfljsadzyxytp";
int brr[] = {1,6,9,0,2,5,8,12,56,7,91};
double crr[] = {12.3,34.5,6.4,12.7,12.2,26.7};
Student drr[] = { {"liubei",80},{"caocao",70},{"sunquan",90},
{"zhangfei",30},{"guanyu",85}};
//qsort(arr,strlen(arr),sizeof(char),Cmp_char);
//printf("%s\n",arr);
//qsort(brr,sizeof(brr)/sizeof(brr[0]),sizeof(int),Cmp_int);
//Show(brr, sizeof(brr) / sizeof(brr[0]));
//qsort(crr, sizeof(crr) / sizeof(crr[0]), sizeof(double), Cmp_double);
//Show(crr, sizeof(crr) / sizeof(crr[0]));
//按分数从低到高
//qsort(drr,sizeof(drr)/sizeof(drr[0]), sizeof(Student), Cmp_stu_src);
//Show(drr, sizeof(drr) / sizeof(drr[0]));
//按姓名排序
qsort(drr, sizeof(drr) / sizeof(drr[0]),sizeof(Student),Cmp_stu_name);
Show(drr, sizeof(drr) / sizeof(drr[0]));
return 0;
}
http://www.yidumall.com/news/41820.html

相关文章:

  • 网站建设岗位说明爱站网seo工具
  • 怎么看网站有没有做百度推广发布软文是什么意思
  • 北京做网站公司哪家强seo优化推广工程师招聘
  • wordpress the_post_thumbnailseo高效优化
  • 合肥建设工程信息网站alexa
  • 厦门做企业网站比较好的公司引流用什么话术更吸引人
  • 企业网站托管运营西安百度提升优化
  • 外包app公司不给源代码如何进行seo
  • 桂林创新大厦网站怎样在百度上免费做广告
  • 个人做网站需要备案吗成都有实力的seo团队
  • 网站静态化的处理网络营销产品的特点
  • 融资融券配资网站开发成都关键词自然排名
  • 西安好的皮肤管理做团购网站百度云手机登录入口
  • 长沙哪个平台做网站好seo优化软件有哪些
  • 网页设计的网站推荐今天最新新闻国内大事件
  • phpcms怎么做网站seo服务外包报价
  • wordpress 3.9 模板企业网站seo优化
  • 校园网二手书交易网站建设企业培训课程名称大全
  • 磁力网站怎么做的源码semantics
  • 图片制作表情包的软件鸡西seo顾问
  • 网站里的课程配图怎么做skr搜索引擎入口
  • 提高美誉度的网络营销方式北京百度seo服务
  • 用来做网页的软件seo工具不包括
  • 香港com域名注册网站优化搜索排名
  • 河南建筑职业技术学院旺道网站优化
  • 网站后台可以备份吗百度seo软件优化
  • 付费小说网站怎么做网站关键词排名查询工具
  • 微信网页上的网站怎么做的电商平台如何推广运营
  • 网站建设的市场需求怎么开网站
  • 淘宝客的免费电影网站怎么做网络优化主要做什么