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

WordPress禁用邮件注册宁波厂家关键词优化

WordPress禁用邮件注册,宁波厂家关键词优化,兰州疫情最新消息解封,供应优惠的小企业网站建设2024 - 10 - 05 - 笔记 - 21 作者(Author):郑龙浩 / 仟濹(网名) My_qsort()- 自己写的qsort函数 My_qsort为自己写的qsort函数,但是采用的不是快速排序,而是冒泡排序,是为了模仿qsort函数而尝试写出来的函数。 思路&#xff1a…

2024 - 10 - 05 - 笔记 - 21
作者(Author):郑龙浩 / 仟濹(网名)

My_qsort()- 自己写的qsort函数

My_qsort为自己写的qsort函数,但是采用的不是快速排序,而是冒泡排序,是为了模仿qsort函数而尝试写出来的函数。

思路:

My_qsort函数参数 - 与 qsort 函数参数相差不大,然后通过冒泡(在这就没有用快速排序,采用的冒泡排序),而在每层循环的比较中,只需要根据自己写的【比较函数】用来比两个数的大小,判断是否要数据置换,就可以将数组中的数据按照升序的顺序排下来。

Eg:

#include <stdio.h>void My_qsort( void *base, int num, int width, int ( *compare )(const void *elem1, const void *elem2 ) );
//比较两个整型数据的规则
int compare_int( const void* elem1, const void* elem2 );
//打印一维整型数组
void display_int( int* a, int num );
//交换两个变量的函数
void swap( char* elem1, char* elem2, int width );
int main()
{int a[10] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};printf( "排序前为:\n");display_int( a, 10 );//使用My_qsort()函数进行排序My_qsort( a, 10, sizeof(a[0]), compare_int );printf( "排序后为:\n");display_int( a, 10 );
}void My_qsort( void *base, int num, int width, int ( *compare )(const void *elem1, const void *elem2 ) )
{int i;for( i = 0; i < num - 1; i ++ ){int flag = 1;//flag为状态,如果在循环的过程中,有某层循环是一直在比较,但是并没有任何置换,这就证明前面的所有的数字全部都是有序的了,那么就没有再比较下去的必要了,即可停止循环int j;for( j = 0; j < num  - i; j ++ ){int t;if( compare_int( (char*)base + j * width, (char*)base + (j + 1) * width ) > 0 ){swap( (char*)base + j * width, (char*)base + (j + 1) * width, width );//交换两个变量的值flag = 0;//如果变为0,就证明此时num - i前面这些数字还是无序的,所以不能停止循环。}//若在某个循环中并没有执行if语句,就证明此时num - i前面的这些数字是有序的,flag = 0,也没有执行,直接就可以停下}if( flag == 1 )//若没有进行任何一次置换,那么就证明前面那些数字是有序的,就没有必要再往后比较了,可以直接结束循环了break;}
}//比较两个整型数据的规则
int compare_int(const void* elem1, const void* elem2)//有规定,返回值必须是>0,==0,<0这三个
{//这尽量就不要些if比较谁大谁小了,看起来非常的不方便return (*(int*)elem1 - *(int*)elem2);//返回>0 ==0 <0//判断函数必须返回返回>0 ==0 <0 这三种情况,或者1,0,-1也可以//切记:千万不可*elem1,因为void的指针不可直接解引用,必须将指针强制类型转换以后才可进行解引用
}
//打印一维整型数组
void display_int( int* a, int num )
{int i;for( i = 0; i < num; i ++ ){printf( "%d ", a[ i ] );}
}//交换两个变量的函数
void swap( char* elem1, char* elem2, int width )
{//elem1 - 第1个交换元素 elem2 - 第2个交换元素//width - 元素的字节大小//分析://要记住:我只知道传来两个元素的地址,但并不知道两个元素的类型,也就不知道两个元素所占的字节数了。//那么我就要将指针变为char*类型,因为char的数据只占1个字节,这样的话就可以利用传来的一个元素所占的字节大小来求得该元素所占字节大小。//因为地址强制转化成了char*类型,所以想要交换数据,就要1个字节1个字节的交换了,比如int数据,就要交换4次,每一次交换1个字节。int i;for( i = 0; i < width; i ++)//width是交换的次数,占了几个自己就交换几次{char t;t = *( (char*)elem1 + i );*( (char*)elem1 + i ) = *( (char*)elem2 + i );*( (char*)elem2 + i ) = t;}
}
http://www.hengruixuexiao.com/news/14369.html

相关文章:

  • 网站优化内链怎么做南通关键词优化平台
  • 做网站找哪家公司最好淘宝指数转换工具
  • 上海网站如何制作电商平台的推广及运营思路
  • 贵阳网站建设制作公司营销培训班
  • 做影视网站什么cms好用吗2345网址中国最好
  • 长春通信网络优化防控举措
  • 个人网站设计分类自动秒收录网
  • 番禺网站建设优化推广宁波seo推广服务电话
  • 公司网站建设工作搜索引擎优化排名seo
  • 百度推广登录app软件下载站seo教程
  • 免费做计算机题的网站网络营销简介
  • 古风自己做头像的网站专业网络推广外包
  • 在上海做兼职去哪个网站搜索外贸建站平台
  • 甘肃兰州建筑网seo搜索引擎优化就业前景
  • 创建网站的向导和模板长尾词在线挖掘
  • 官方网站建设银行谷歌广告联盟一个月能赚多少
  • 什么软件做网站比较好网上推销产品的软件
  • 自己建设网站怎么做中国行业数据分析网
  • 怎么做自己的淘宝客推广网站找网站公司制作网站
  • f006网站建设网络营销有哪些就业岗位
  • 外贸商城网站建设公司郑州百度搜索优化
  • 政务网站无障碍建设友情链接网站大全
  • 有哪些网站能免费建站怎么查权重查询
  • 受欢迎的做pc端网站电脑培训班零基础网课
  • 北京国税局网站官网入口盘搜搜
  • 网站目录怎么做301重定向外贸网络营销
  • 怎么让别人访问我建的网站学电脑在哪里报名
  • 重庆网站托管服务最近一周新闻
  • 政府网站建设工作大会讲话北京seo百度推广
  • 没有域名可以先做网站吗seo外链优化培训