- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 用List实现Stack基本功能
Stack是一种特殊的串行形式的数据结构。 特点: 1、只允许在栈顶压入新元素(push); 2、只允许先由栈顶元素输出,也就是后进先出(pop); 下面我打算用List来实现Stack最简单的功能。 我的思路: 根据List的知识,允许在List里面删除,插入元
2013-12-21 16:03:26 1126 1
原创 插入排序算法笔记
插入排序: 1、最简单的排序算法。 2、在增量排序中有很高的效率,比如已经存在成绩排序,要插入一个新的成绩并且排序。 3、不需要额外的存储空间(属于内部排序)。 4、时间复杂度为O(n^2)。
2013-12-13 13:32:48 775
原创 计算机数据结构考研题目
最近做了一个数据结构的考研题目,跟大家分享一下。 题目如下: 这道题用指针的方法来做是很合适的。其实,只追求做出来的话,大可以遍历到尾节点,再往前遍历,求出第n个元素的data。这样的话,肯定不是最高效的算法。不知道大家有没有听过跟班指针。
2013-12-10 00:47:31 1619
原创 计算机专业,该考研吗?
有人说,现在的本科毕业证就像以前的高中毕业证一样。其实也是,现在大学的数量确实很多,质量更不敢保证,能算得上名的也就大家知道的那几间,那其他大学的呢?本科毕业证究竟能为自己带来多大的竞争力? 我在北京上大学,学校不能算很好吧,但是计算机学院也不错,算是这个学校的主打学院。但是,这间大学不是我理想中的大学,高中的时候,我就想考取北科大,可惜高考失利,到了现在这所大
2013-12-07 01:13:45 2742 15
原创 O()算法表示分析
前阵子有同学跟我讨论,怎么这个问题用递归方法(O(n^2))比非递归方法(O(n)解决时间还快?按照算法复杂度来看,前者比后者慢啊,这怎么解释? 其实,算法复杂度O()的表示方法是参考很多因素的,不能因为一两个例子而决定。 首先,一个算法的好坏,我们肯定不能做最好情况的打算,比如任何一种搜索算法,假如第一个元素就是我们要搜索的元素,那
2013-12-05 19:54:53 1599
原创 unity3D 鼠标滚轮实现物体的大小缩放
这个实现的方法不难,难的可能是要弄懂鼠标滚轮响应函数的机制,响应函数是Input.GetAxis("Mouse ScrollWheel"),其中,这个函数是有返回值的,类型是float,向前滚是返回正数,向后滚是返回负数,所以,下面这个脚本操作的时候,鼠标滚轮一直向后滚,会看见Cube逐渐变小,当变到很小到消失的时候,又会增大,这是很正常的。要是觉得这么不好的话,可以用逻辑代码限定一些scale的
2013-12-03 23:21:00 7795 1
原创 unity3D 通过SendMessage实现脚本通信
脚本之间的通信有几种。 1.利用在脚本A中定义对外接口函数,然后在脚本B中找到A所在的对象,再找到脚本A,进而调用里面的对外接口函数,这个方法在我的《unity3D NGUI中button响应事件实现》这篇文章中有仔细说明,可以参考。 2.还有一个是利用SendMessage的方法来实现脚本互相通信。
2013-12-03 22:28:17 6541
原创 unity3D 脚本中按键或鼠标输入响应函数
简单地总结一下,unity中脚本实现输入(键盘和鼠标)的响应事件函数。 //*******键盘输入*************1.Input.GetKey("up"); //按住键盘上键2.Input.GetKey(KeyCode.UpArrow)//按住键盘上键, (KeyCode.UpArrow)是键码,输入中会用到很多3.Input.GetK
2013-12-03 13:39:17 7185
原创 unity3D,NGUI中button响应事件实现
最近做的一个项目,是鼠标点击左键在plane上画线,其中,界面上有NGUI的button,点击用来改变线的颜色,显然主要画线脚本绑定在摄像头上面,而button响应事件的脚本绑定在对应的button上面,不同对象上面绑定的脚本怎么来实现点击button响应呢,下面就来说一说。 首先,要在画线脚本上写一个对外接口函数,比如改变颜色的对外接口函数,我这么写:
2013-12-03 10:50:55 5392
原创 unity3D 从摄像机发射射线,检测画线
最近做项目的时候,有一个需要从摄像机发出一条射线,当射线检测到有碰撞物体的时候,点击鼠标左键开始画线。我是创立了一个平板drawing,当然Cube什么的也是可以的。 c#脚本代码,将这个脚本拖到摄像机里,然后拖拽材质到画线材质,拖拽碰撞体到脚本那里即可以。 代码脚本:using UnityEngine;using Syst
2013-12-03 10:20:16 8237
原创 函数模版template学习中的一个编译问题
c++学习函数模版的时候,写了一个交换函数的程序,函数为swap(),目的是交换两个数据。 源程序: #includeusing namespace std;template void swap(T& x, T& y){ T t; t = x; x = y; y = t;}int main(){ int
2013-12-03 10:05:20 928
原创 c++模版 template
c++中定义重载函数可以使代码重用,而模版template也是实现代码重用机制的一种工具。它可以把参数类型化,也可以说是抽象化,而到真正调用的时候,系统会识别参数真正的类型,从而自动实例化参数,进行调用。 举个例子,实现两个数交换的函数swap() 实现两个int型数据交换: swap(int x, int
2013-12-03 09:51:32 728
原创 排序算法之计数排序
计数排序是一种非比较的排序,这种方法思路大概是先算出待排序数据里面的数字分别出现多少次,然后再依据这个存放进新的数组里面,输出这个数组,排序也就完成了。时间复杂度为o(n+k),很多人说是o(n),但其实只是接近而已。其中里面的n是排序的数据个数,而k是排序中最大的值,可想而知,在n确定的情况下,k的值越小,时间复杂度越低,例如就算n很小,但排序数是{2,5,3,10000}的话,那也需要很多时间
2013-12-03 08:50:13 714
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人