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

建设一个电子商务网站的基本步骤长沙公司网站

建设一个电子商务网站的基本步骤,长沙公司网站,浙江省两学一做网站,河南工程建设当你为错过太阳而哭泣的时候#xff0c;你也要再错过群星了。 --泰戈尔 目录 一.qsort快速排序的实现 二.模拟实现一个qsort功能的函数 一.qsort快速排序的实现 下面是 qsort() 函数的声明#xff1a; void qsort(void *base, size_t nitems, size_t size, int (…当你为错过太阳而哭泣的时候你也要再错过群星了。          --泰戈尔 目录 一.qsort快速排序的实现 二.模拟实现一个qsort功能的函数 一.qsort快速排序的实现 下面是 qsort() 函数的声明 void qsort(void *base, size_t nitems, size_t size, int (*compare)(const void *p1, const void* p2)) 注意p1和p2是待比较两个数的地址你不能直接写成*p1和*p2来找到这两个数因为p1和p2都是void*的指针无类型的指针。void*可以接收任何类型的指针所以使用*p1和*p2时你必须强制类型转换为你需要的类型。 参数  base -- 指向要排序的数组的第一个元素的指针。nitems -- 由 base 指向的数组中元素的个数。size -- 数组中每个元素的大小以字节为单位。compare -- 用来比较两个元素的函数其实就是一个函数指针。 对一个数组里面的数字进行升序排序可以使用冒泡排序(之前写的) 但是冒泡排序效率比较低而且只能对数字进行排序但是qsort函数可以实现各种各样的排序。 我们就先来使用qsort来对数组的数字进行升序排序。 #includestdio.h #includestdlib.h//qsort所需要的头文件 int cmp_int(const void* p1, const void* p2) //cmp_int这个函数是我们使用者提供的你可以随便写成什么名字 {return (*(int*)p1 - *(int*)p2);//(int*)强制类型转换为整型指针再解引用找到元素 } void print(int arr[], int sz) {int i 0;for (i 0; i sz; i){printf(%d , arr[i]);} } int main() {int arr[10] { 5,3,7,8,9,1,2,0,4,6 };//void qsort(void* base, size_t nitems, size_t size, int (*compare)(const void* p1, const void* p2))int sz sizeof(arr) / sizeof(arr[0]);//求的数组的大小对应的就是nitems//这里的arr对应base//sizeof(arr[0])对应的就是size数组每个元素的字节大小qsort(arr, sz, sizeof(arr[0]), cmp_int);print(arr, sz);return 0; } 我们再来使用qsort来实现复杂一点点的结构体名字排序你就会感到qsort的神奇之处。 我们对一个字符串进行比较自然要用到strcmp函数。 strcmp函数用于比较两个字符串的ASCll值并根据比较结果返回整数。基本形式为strcmp(str1,str2)若str1str2则返回零若str1str2则返回负数若str1str2则返回正数strcmp函数是对字符串一个一个字符进行比较如果第一个字符串的第一个字符已经大于第二个字符串的第一个字符了strcmp就直接返回0了就不用继续比较下面的字符串了。 比如abcdf和fbb字符串进行比较因为a的ASCll值已经小于f的ASCll值了所以返回小于0。比较结束。 #includestdio.h #includestdlib.h struct stu {int age;char name[20]; }; int cmp_name(const void* p1, const void* p2) {return strcmp(((struct stu*)p1)-name, ((struct stu*)p2)-name);//指针访问结构体变量使用- } void print(struct stu S[], int sz) {int i 0;for (i 0; i sz; i){printf(%s\n, S[i].name);} } int main() {struct stu S[] { {20,chen kang},{19,wang ti},{21,di shu} };//创建一个结构体数组int sz sizeof(S) / sizeof(S[0]);qsort(S, sz, sizeof(S[0]), cmp_name);print(S, sz);return 0; } 上面我们使用qsort函数来排序数组和结构体中的字符串可以看出qsort不用像冒泡排序那样确定趟数而是qsort自己继续往后面排序。 总结qsort函数优点 1.不需要确定趟数。 2.可以对各种类型进行排序。 二.模拟实现一个qsort功能的函数 接下来我们就要来写一个模拟qsort函数功能的函数来理解qsort函数到底是如何进行排序的。 #includestdio.h void Swap(char* p1, char* p2, int width) {int i 0;for (i 0; i width; i){ //width就是一个数的字节大小char temp 0;temp *p1;*p1 *p2;*p2 temp;p1;p2;//通过一个一个的字节交换从而将一个数交换} } void sml_qsort(void* base, size_t num, size_t width, int(*cmp)(const void* p1, const void* p2)) {//size_t表表示无符号整型这里也可以写成intint i 0;int j 0;for (i 0; i num - 1; i){for (j 0; j num - 1 - i; j){if (cmp((char*)base j * width ,(char*)base (j 1) * width) 0){//(char*)base j * width就是一个数的全部字节大小无论是排序什么类型都可以这样使用//这里调用cmp指针从而调用cmp_int函数而cmp_int就是比较两个数的大小//cmp就是一个回调函数Swap((char*)base j * width, (char*)base (j 1) * width,width);}}} } int cmp_int(const void* p1, const void* p2) {return *(int*)p1 - *(int*)p2; } void print(int arr[], int sz) {int i 0;for (i 0; i sz; i){printf(%d , arr[i]);} } int main() {int arr[10] { 1,4,7,3,2,5,8,0,9,6 };int sz sizeof(arr) / sizeof(arr[0]);sml_qsort(arr, sz, sizeof(arr[0]),cmp_int);//sml是simulation单词的缩写也就是模拟的意思print(arr, sz);return 0; } 我们还可以用sml_sqort函数来排序结构体等等只需要修改一点点代码就可以实现。这里大家就可以自己动手尝试。  希望大家给老弟赞赞谢谢
http://www.hkea.cn/news/14353278/

相关文章:

  • 帮别人做网站的公司是外包吗dux2.0支持Wordpress
  • 在线做头像网站有哪些kingcms 暂未创建网站首页
  • 响应式网站模板htmlwordpress 分类信息
  • 如何查看一个网站的浏览量门户网站开发人员招聘信息
  • 局域网中做网站自己做资金盘网站
  • 手机端视频网站模板下载有哪些官网做的比较好的网站
  • 网站怎么企业备案信息查询公司装修完就让搬进去
  • 响应式网站的设计尺寸东莞模板网站制作哪家好
  • 网站下拉菜单设计网站做移动适配以后可以取消吗
  • 在线平面设计网站哪个好广州市研发网站建设怎么样
  • 河南建设人才招聘专业网站网站模板建设报价单
  • 用cms做网站怎么样个人备案怎么做旅游网站
  • 网站建设开票应该开哪个行业wp网站如何做多级联动筛选框
  • 传奇网站怎么建设plc培训机构哪家最好
  • 站长工具seo综合查询怎么看数据网站外包要注意什么
  • 推销网站和17做网店类似的货源网站
  • 签证网站建设凡科网站免费版怎么做
  • 财政网站平台建设不足全国企业信息查询系统入口官网
  • 自己做图片上传网站wordpress插件残留
  • 网上书店网站前端搜索条怎么做网站制作岗位职责
  • 深圳租赁住房和建设局网站宝丰县建设局网站
  • 常用的cms建站系统小程序定制开发哪家好
  • 滁州医院网站建设费用塑胶制品东莞网站建设
  • 微信小程序 连接网站百度官网推广平台
  • a站怎么进技术支持 广州骏域网站建设专家
  • 网站备案 电信网站页面优化方法有哪些
  • 贵阳网站建设外包wordpress需要钱吗
  • 商城网站开发代码案例句容住房和城乡建设局网站
  • 崇信县门户网站领导动态企业官网搭建多少钱
  • 免费空间做淘宝客网站搭建公司网站教程