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

建设电影网站数据库脚本做游戏推广一个月能拿多少钱

建设电影网站数据库脚本,做游戏推广一个月能拿多少钱,做企业网站需要什么,wordpress文章时间标签一,引言 快排不管是hoare法还是指针法以及挖坑法,最终都是利用函数递归进行实现的,但是只要是函数递归就会有栈溢出的风险,为此本篇文章讲解快排的非递归法。 二,代码逻辑 首先要了解为什么会使用递归进行调用&…

一,引言

快排不管是hoare法还是指针法以及挖坑法,最终都是利用函数递归进行实现的,但是只要是函数递归就会有栈溢出的风险,为此本篇文章讲解快排的非递归法。

二,代码逻辑

首先要了解为什么会使用递归进行调用,递归调用将大问题进行细分,细分成相同的小问题,依次往复,而对于快排来说,每次的单趟排序的逻辑都是一致的,不一致的仅仅的传入的参数有所不同,为此我们要思考可不可以通过一个数据结构去记录需要的两个参数,需要用到的时候取出来,之后将新的参数再次存进去。进而来依次循环,变相来实现递归的效果。

为此进行引用数据结构----栈,通过栈来存储需要的数据。下面举个例子:

这是零到九,十个数据,假设每次单趟排序经过调整后key都是中间位置。

第一次分组:[0-----4],[5],[6-------9]

如果是递归的逻辑[0------4],[6-------9]分别进行递归函数,但是如果想要走循环就需要将0和4,6和9存起来。如图:

第一次将0和9取出进行如上分组:之后继续进行存储如图:

第二次分组:将0和4取出经行单趟排序:key==2分成[0----1]和[3------4]两组继续存储:
如图:

第三次分组:将0和1取出进行单趟排序:key==0分成[0-----0],[1------1]因为只有一个数据已经是有序的,所以不进行进行存储。

第四次分组:将3和4取出依次类推,直到栈空间为空,则循环结束,排序结束。 

三,代码实现

void QuickSortNo_Re(int* p, int left, int right)
{Stack* m = (Stack*)malloc(sizeof(Stack));StackInit(m);StackPush(m, right);StackPush(m, left);while (StackEmpty(m) == 0){int begin = StackTop(m);StackPop(m);int begin1 = begin;int end = StackTop(m);int end1 = end;StackPop(m);int keys = begin;while (begin != end){while ((p[keys] <= p[end]) && begin != end){end--;}while ((p[keys] >= p[begin]) && begin != end){begin++;}swap(&p[begin], &p[end]);}swap(&p[begin], &p[keys]);keys = begin;if (end1 > keys + 1){StackPush(m, end1);StackPush(m, keys + 1);}if (begin1 < keys-1){StackPush(m, keys - 1);StackPush(m, begin1);}}
}

代码有点长,这里具体解释一下:

这里面的栈的所有引用在栈一章中都有讲解,这里的单趟排序和hoare法一致。需要注意几个点:
1,注意栈是后进先出的数据结构,所以说先进行数组尾部的入栈之后再是数据头部的入栈。 

2,当获取栈顶数据时,要记得获取一个数据后进行Pop操作,以防止获取同一个数据。

3,要多加两个变量进行标记,每次进行这个数据段的头和尾,遗忘之再排序过程中会出现丢失现象。

4,在进行判断是否入栈操作时要记得进行分别判断,具体出两段数据段是不一致的。

四,总结

快排作为非常具有实践意义的算法,熟练掌握各种方法是很重要,希望同学们多加练习都能熟练掌握。

http://www.dtcms.com/wzjs/30901.html

相关文章:

  • 淘宝客网站模板网站seo策划方案实例
  • 松江手机网站开发常见的网络营销方法有哪些
  • 安全的网站建设如何建立网站 个人
  • 网站备注销舟山百度seo
  • 拟与 合作建设网站 请予审批福建优化seo
  • 怎么做网站教程 用的工具开鲁网站seo站长工具
  • 搜索引擎网站提交入口百度下载安装免费版
  • 网站怎样才有流量项目推广平台有哪些
  • 做网站编程要学什么搜索引擎营销成功案例
  • 网站备案号如何查询排名第一的玉米品种
  • 建设 政务数据共享网站东莞seo排名公司
  • 网站和站点的区别网站性能优化方法
  • 自己设计logo的网站关键词全网搜索
  • 二级网站排名做不上去网销怎么销售的
  • 经营范围网站建设锦绣大地seo
  • 北京 手机网站建设江门百度seo公司
  • 一个专业做设计的网站大数据查询平台
  • 西安优秀的定制网站建设公司哪家好做教育培训应该注册什么公司
  • 网站建设的营业执照贺州seo
  • 建立网站的模板b站推广网站
  • zb533网站建设东莞网络营销公司
  • 建设网站免费模板上海自动seo
  • 网站seo优化服务seo技术软件
  • 苏州品牌网站设计谷歌浏览器下载视频
  • 虚拟主机建立网站百度网站下载
  • 南通大型网站建设北京seo产品
  • 国外做ic的网站深圳seo优化电话
  • 佛山购物网站建设北京网络推广外包公司排行
  • 网页案例图片seo百度贴吧
  • 网站打不开是什么原因色盲和色弱的区别