首页 相关文章 用游戏串起程序员的基本功

用游戏串起程序员的基本功

   希尔排序法基本思想是:取一个间隔,将长序列分成若干短的子序列,对每个子序列进行直插排序;然后逐渐缩小间隔,重复以上过程,直到间隔为1

   前面我们学习了两种插入排序法,但当要排序的数组长度越长并且数值越不成顺序,比较和交换的次数就越多,效率越低。因此D.L.Shell在1959年提出了缩小增量排序法(又叫希尔排序法),基本思想是:取一个间隔,将长序列分成若干短的子序列,对每个子序列进行直插排序;然后逐渐缩小间隔,重复以上过程,直到间隔为1。可以看到这种算法,较好的克服了直接插入排序法的不足。
  
  
  下面是示例:
  
  8 7 4 3 6 1 //是要排序的数值,我们以一半的长度为间隔3
  3 7 4 8 6 1 //第一次,取得3,小于前面的8,交换位置
  3 6 4 8 7 1 //第二次,取得6,小于前面的7,交换位置
  3 6 1 8 7 4 //第三次,取得1,小于前面的4,交换位置
  1 6 3 4 7 8 //第四次,再缩小间隔,为2,取得1小于3,交换位置,取得7,大于前面的3,不变;取得8大于6,不变,取得4小于8,交换位置
  1 ...[ 查看全文 ]

2016-02-19 标签:
  • 第一篇我们用数组实现了洗牌的步骤。当然还有其他的方法。这也就是编程的带给我们的乐趣——灵活,自由。只要你想不得到,没有你做不到的。 今天我们就来实现第二步。掷色子,发牌。 掷色子的问题,其实很简单,但涉及到动画制作的原理。所以我们先来补充些这方面的知识。 我们知道,人的视觉都有一种现象,比如当你在黑暗中看灯泡时,忽然灯泡熄灭了,但灯泡发光的影像还会...[ 查看全文 ]
  • 化蝶:从VB到VB.NET的编程体会(一) 一、接受开发工具的升级,但仅此而已。工具是更好用了,程序还基本是原来那样写,套用一句老话:没有银弹。二、首先要关注的是构架,也就是整个系统的结构。有许多好的构架可以利用,不用事事都自己动手,但一定要理解,并且多做练习。三、学一些面向对象的概念,比如对象的封装性、继承性、多态性。四、充分利用VB6到VB.Net的迁移工具,由此可以熟悉一些变化,一些常用...[ 查看全文 ]
  • 标签:Web开发
    当 jQuery 在2006年1月现身时,给我的第一印象,是这玩意儿构造得很精明。基于CSS选择器(CSS selectors)来打点一切,其思路相当灵巧(参考getElementsBySelector)。但链盒工事(chaining stuff)看起来更像个噱头,并且整体看来,jQuery库提供的功能并不能覆盖所有基础性的东西。因此我断定,jQuery只会昙花一现。 几个月以来,我逐渐明白自己想错了。从技术工艺上考量,jQuery十分凌厉。它用简...[ 查看全文 ]
  • 到了第二年,大家也都能知道编程语言有好多种的,且各有千秋。而其中比较有前途(钱途?)的是TC。不管怎么着,TC这东西可上可下,可对操作系统编程,可完成汇编的大部分功能。这可让爱捣蛋的男生一提起来就满面红光。动不动就会说,你小子给我小心点。得罪了哥们我,小心我编个病毒KILL了你。呵呵,谁K谁呀。吹起来,谁都不怕谁呢。是的,只是吹。TC到底是个什么东西,都不太清楚。 不清楚不是...[ 查看全文 ]
  • 标签:Web开发
    1、建立并且理解你的Web Server。 因为Apache 是免费的并且在大多数平台上工作,为训练目的推荐 Apache。 安装时间:2 天。 2、 保证你理解 HTML / XHTML 。 你将需要了解html基础, 特别是 HTML 布局中的table的使用。XHTML 不久将代替 HTML ,学习 XHTML 的基础是一个好主意。许多程序员通过 HTML IDE 学习 HTML ( 集成开发环境 ) 。因为大多数 HTML IDE产生混乱的HTMl语法,所以花时间学...[ 查看全文 ]
  • 标签:Java JAVA基础
    三:选择要求(因项目而定) 1:LDAP 掌握程度:了解 原因:LADP越来越多的运用在权限控制上面。 2:Struts 掌握程度:熟练 原因:如果符合MVC设计通常会使用Struts实现C。 3:Xsp 掌握程度:根据需要而定很多时候是不使用的,但在不需要使用ejb但jsp+servlet+bean实现不了的时候Xsp是一个非常不错的选择。 4:Linux 掌握程度:熟悉 原因:如果你的运用跑在Linux/Unix上你最少要知道rm ,m...[ 查看全文 ]
  • 我觉得“做其他的工作,35岁是事业蒸蒸日上,做软件35岁就失业 ”是今天Bird说的一句非常错误的话。真的。 大家千万不要受这种话影响,也不要散布这样的话。否则也许断送不了自己,但是有可能断送中国软件业的将来。 我觉着可以试试讨论,35岁以后,软件人员应该怎样转型而不是消极的谈失业,也太颓废了吧! [ 查看全文 ]
  • 标签:Web开发
    本程序最初是由wanghr100(灰豆宝宝.net)的checkForm基础上进行修改的,增加了很多功能,如下: 对非ie的支持 增加了内置表达式和内置提示 增加了显示方式(弹出式和页面显示式) 增加了显示一条和显示全部 进行了封装(CLASS_CHECK) 支持外接函数或表达式(应用在密码一致) 简化了调用方式,所有操作只需要script language='javascript' src='checkform.js',然后在HTML里定义各标签验证格式 对IE增加了对键盘...[ 查看全文 ]
  • 程序员的技能专长怎么写?下面给大家提供的简历技巧,希望可以帮到您,祝您生活愉快,找到称心如意的工作! 一、熟练面向对象编程思想,扎实的Java基础知识,精通Jsp、Servlet、Jdbc下的编程开发。 精通Struts、Hibernate、Spring开源框架,并熟练运用MVC设计模式,并具有使用这些技术的丰富经验。 熟练使用MyEclipse、Dreamweaver、Jcreator等开发工具。 熟练掌握Tomcat、Weblogic、...[ 查看全文 ]
  • 标签:美白
    保湿对皮肤有什么作用吗,如何美白肌肤呢?保湿对皮肤的影响,其中又有哪些细节需要我们注意的呢?接下来就请阅读以下文章的详细解析。对于爱美的女性来说,这个季节她们就更加着重于美白。美白正逢时,大家一起来看看,怎样能够白而持久吧! 美白基本功 做好基本功是长久美白的关键。好的保养习惯应该是做好美白防护、早晚擦拭保养品、每周做1至2 次角质清洁、擦拭美白产品等,具体来说,你...[ 查看全文 ]
  • Ajax(即异步 JavaScript 和 XML)是一种 Web 应用程序开发的手段,它采用客户端脚本与 Web 服务器交换数据。所以,不必采用会中断交互的完整页面刷新,就可以动态地更新 Web 页面。使用 Ajax,可以创建更加丰富、更加动态的 Web 应用程序用户界面,其即时性与可用性甚至能够接近本机桌面应用程序。 Ajax 不是一项技术,而更像是一个 模式 —— 一种识别和描述有用的设计技术的方式。Ajax 是新颖的,因为许...[ 查看全文 ]
  • 标签:Web开发
    本文讨论的是在web标准普及的形势下,网站程序员的定位以及如何与设计师配合开发符合web标准的网站项目。 本文适合的读者是传统TABLE布局下分工不是非常明晰的程序员。 1:学习web标准,让你的工作变得更加简单。 web标准是大势所趋,所以作为网站程序员。你必须洗脑,必须去学习web标准。去重新认识html标签,去了解如何让程序输出页面需要的代码。 比如: 上边是美工...[ 查看全文 ]
  • C# 中的事件与VB中的事件作用相同。但是在C# 中,任何类都可以产生一套事件,并且任何对象都可以捆绑这些事件。C# 中的事件是以Delegates为基础的。设计事件时,通常认为Delegates要接受两个参数:第一个参数是引起事件的对象,第二个参数是以个包含事件自变量的对象。 现在我们为一个事件定义一个Delegates,当有新邮件到来时将激活这个事件: ===delegate声明============= pubic del...[ 查看全文 ]
  • public sealed class x { } Internal 如果将Internal 修饰符放在一个类或成员上,那么这个类或成员就只能被同一个汇编中的其它类使用。这与 VB 中的 Friend 修饰符相同。 Protected Protected修饰符用于准许对从这个类中派生出来的类进行访问。 Internal Protected Internal Protected 表示允许Internal 或 Protected 访问。 初始化 在C# 中,声明...[ 查看全文 ]
  • 虚拟函数就是指:在要确定究竟调用哪个方法(一个基本类或派生类中的一个)的地方被延迟的函数。根据类型不同,函数将延迟到运行时间。比如说,有一个类‘CivilEngineer’,它含有一个方法叫做‘Charge’。这个类是从Engineer 中派生出来的,而且Engineer也有一个方法叫做‘Charge’。这时,一个虚拟函数将允许运行时间判断对象是一个 Engineer还是一个CivilEngineer,然后执行合适的函数。 Override 修...[ 查看全文 ]
  • “这可能是我所读过的关于C++的最好的书,我为通过这本书所学到的大量C++知识而惊异,”Synesis Software公司的开发顾问Matthew Wilson如此评价着C++ Gotchas(由Pearson的Addison-Wesley出版)。 令人兴奋的是,中国青年出版社引进了该书版权,进行了严谨的本地化工作,出版了该书的中文版《C++程序设计陷阱》,为国内众多程序开发设计高手提供了冲开设计陷阱牢笼的机会。 当好友读...[ 查看全文 ]
  • 标签:PHP
    本文介绍调试 PHP 应用程序的各种方法,包括在 Apache and PHP中打开错误报告,以及通过在一个简单的PHP脚本中放置策略性的print语句,找到更困难的bug的源头。还会介绍用于Eclipse的PHPEclipse插件,这是一个灵活的开发环境,具有实时语法解析能力,还会介绍PHPEclipse的DBG调试器扩展。   简介 有许多 PHP 调试技术可以在编码的时候节约大量时间。一个有效却很基本的调试技术就...[ 查看全文 ]
  • 标签:Java JAVA基础
    一:说明 在本文章中使用精通、熟练、熟悉、了解标志你对某技术的掌握程度。 精通:能够掌握此技术的85%技术要点以上,使用此技术时间超过两年,并使用此技术成功实施5个以上的项目。能使用此技术优化性能或代码,做到最大可能的重用。 熟练:能够掌握此技术的60%技术要点以上,使用此技术时间超过一年,并使用此技术成功实施3个以上的项目。能使用此技术实现软件需求并有经验的积累在实...[ 查看全文 ]
  • 芭蕾圆髻 发髻与婚纱的完美搭配 清雅娟秀、超凡脱俗仿佛舞台上那只翩然起舞的白天鹅,你的这一引人注目的舞者个性,自然需要用芭蕾圆髻和舞裙式的吊带婚纱来衬托,而将头发完全绾于脑后,也能将你清瘦的小尖脸型完全展露出来,让五官显得更加精致。 适合脸型:心型脸,精致较小的五官 优雅珠恋 发髻与婚纱的完美搭配 你是清新淡雅、亲和妩媚的经典代表,犹如闪烁着柔和光...[ 查看全文 ]
  • 基本功是练习武术的最基本具备的基础,无论师从何门,都需要从基本功练起。下面,运动养生图老师图老师小编为大家讲一下基本功的练习,希望诸位能从中获益!  跑步  速跑,全力以赴跑步5分钟。快速跑属无氧运动,可提高肺活量,锻炼脚的快速移动,如果你刚开始不适应可先速跑3分钟等适应了在随之提升时间。  节奏跑,配合呼吸有节奏慢跑30分钟,提高呼吸与身体的配合能力。  ...[ 查看全文 ]
手机页面 收藏网站 回到头部