搜索

用c语言编写一个希尔排序程序新手最好能给注释下!谢谢

gecimao 发表于 2019-07-12 17:15 | 查看: | 回复:

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部网友wang1992092对希尔排序的理解有些错误,希尔排序对每个子序列进行的是直接插入排序,而不是如他所给出的选择排序。你可以先百度一下希尔排序的定义。我这里给一个C源代码,你可以试试。直接插入排序的思路是:将待排表分成两部分,一部分是已有序部分L,另一部分是待排序部分R。L初始化为只含第一个元素的表,因L现在只含一个元素,所以是有序的。然后每次从R中取出最前面的元素到tmp(相当于出队到tmp中),然后在L中从后向前搜索插入位置,边搜索边向后移动比tmp大的元素,找到了插入位置后就将tmp插入到L中。直到R部分为空时结束。

  /*对数组a中起始下标为left,结束下标为right,步长为gap的子序列进行直接插入排序,当gap等于1时就是通常的插入排序了*/

  }追问你好,还能问你一道c语言的题么?用c语言编写一道二叉树先序遍历的程序,用递归的方法,我还没学过数据结构,给点儿解释。谢谢。。。追答设结点结构为Node(data, *child, *child),则对根为root的二叉树进行前序遍历的过程为:

  (3)对root-lchild为根的左子树采用同样的前序遍历方法进行遍历;

  (4)对root-rchild为根的右子树采用同样的前序遍历方法进行遍历;

本文链接:http://baumseelen.com/duipaixu/655.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部