网站内的搜索是怎么做的,wordpress cnki,一个旅游网站建设,网上宿迁官方网站一、qsort
1.库函数qsort qsort是库函数#xff0c;直接可以用来排序数据#xff0c;底层使用的是快速排序。 qsort函数可以排序任意类型的数据。 2.头文件
#includestdlib.h
3.参数讲解 void*类型的指针是无具体类型的指针#xff0c;这种类型的指针的不能直接解…一、qsort
1.库函数qsort qsort是库函数直接可以用来排序数据底层使用的是快速排序。 qsort函数可以排序任意类型的数据。 2.头文件
#includestdlib.h
3.参数讲解 void*类型的指针是无具体类型的指针这种类型的指针的不能直接解引用也不能进行加减整数的运算它的作用是接收任何类型的地址。 二、qsort函数排序整型数据
#includestdio.h
#includestdlib.h
int int_cmp(const void* p1, const void* p2)
{//第一种方式//if (*(int*)p1 *(int*)p2)// return 1;//else if (*(int*)p1 *(int*)p2)// return 0;//else// return -1;//第二种方式return (*(int*)p1 - *(int*)p2);
}
int main()
{int arr[10] { 2,4,6,8,0,9,7,5,3,1 };int i 0;int sz sizeof(arr) / sizeof(arr[0]);qsort(arr, sz, sizeof(int), int_cmp);for (i 0; i sz; i){printf(%d , arr[i]);}printf(\n);return 0;
}
三、qsort函数排序结构体数据
#includestdio.h
#includestdlib.h
#includestring.h
struct Stu
{char name[20];int age;
};
//按照年龄比较
int cmp_stu_by_age(const void* p1, const void* p2)
{return ((struct Stu*)p1)-age - ((struct Stu*)p2)-age;
}
//按照名字比较
int cmp_stu_by_name(const void* p1, const void* p2)
{return strcmp(((struct Stu*)p1)-name, ((struct Stu*)p2)-name);
}
//按照年龄比较
void test1()
{struct Stu s[] { {zahngsan,20},{lisi,30},{wangwu,15} };int sz sizeof(s) / sizeof(s[0]);qsort(s, sz, sizeof(s[0]), cmp_stu_by_age);for (int i 0; i sz; i){printf(%d , s[i].age);}printf(\n);
}
//按照名字比较
void test2()
{struct Stu s[] { {zahngsan,20},{lisi,30},{wangwu,15} };int sz sizeof(s) / sizeof(s[0]);qsort(s, sz, sizeof(s[0]), cmp_stu_by_name);for (int i 0; i sz; i){printf(%s ,s[i].name);}printf(\n);
}
int main()
{test1();test2();return 0;
}