数据结构(C#)
luxin10
这个作者很懒,什么都没留下…
展开
-
数据结构_2.单链表
<br />单链表与顺序链表不同,顺序链表在声明时在内存中开辟一块连续的存储空间进行链表数据项的保存。所以单链表的项只需要保存其数据,根据数据所在的序号进行访问直接由链表类控制,因为屋里保存区域连续,所以能够很方便实现这些数据的访问,插入和删除。<br />单链表在内存中不适用连续的空间存储,所以单链表的项实际保存两个信息,一个信息为该项的数据项,另外一个信息为指定下一项。在访问时,我们只需要知道单链表的起始项,起始项就是单链表中没有被任何项指向的项,根据起始项指向的下一项一次类推,得到我们需要的链表项,图原创 2010-12-10 15:30:00 · 853 阅读 · 0 评论 -
数据结构_1.顺序链表
<br />所有的链表都应该有一下功能:<br />(1)获取链表长度<br />(2)清楚链表全部项<br />(3)判断链表是否为空<br />(4)判断链表是否已满<br />(5)在链表末尾添加新项<br />(6)在链表指定位置插入新项<br />(7)在链表指定位置删除项目<br />(8)根据输入项的序号返回链表项<br />(9)根据输入列表项的值返回该项的序号<br />在这里定义一个借口,约束所有的链表类都必须实现该借口,列表代码如下:<br /> <br /> interface IL原创 2010-12-10 15:05:00 · 770 阅读 · 0 评论 -
数据结构C#——循环链表
我曾经去一家游戏公司面试时遇到一个笔试题,大意就是说有一群人出去旅游,在河中遇到了大风,然后用转盘决定谁在留在船上,谁自己跳下去自行解决生存问题。大家围成一个圈,启动转盘,转盘指向谁就从睡开始数数,当有人数到13时,谁就跳下去,然后从下一个人开始从头数,当再有人数到13时,继续上一个循环。当时题意没看太明白,我直接用了一个单向链表解决那个事情,结果最后运行的结果总是剩下最开始的两口人,最后在跟面试官谈的时候才猛然想起围成一个圈其实就应该用循环链表来解决这个问题。下面看看循环链表的示意图:循环链表与单项链表唯原创 2011-01-03 17:42:00 · 5601 阅读 · 1 评论 -
如何判断用户输入的一个整数是否为2的整数幂
判断一个整数是否为2的整数幂,最容易想到的办法就是将这个数一直除以2,然后判断除以2后得到的数属否等于1,但是在c#中,3除以2得到的结果也是1,5除以2得到的结果是2,再除以一次2的结果也是1,所以这个方法实际上是行不通的。 但是如果我们把用户输入的整数先转换为double类型,double类型在使用除法时能得到更精确的double数,所以可以通过结果与1的比较,判断用户输入的数字是否为2的整数幂,具体实现代码如下: while (true) {原创 2011-02-18 17:03:00 · 3343 阅读 · 3 评论 -
单件模式(Single Pattern)
Singleton模式:一个类有且仅有一个实例,并且提供了一个全局的访问点。.net的静态构造函数MSDN上说明如下:静态构造函数用于初始化任何 静态数据,或用于执行仅需执行一次的特定操作。 在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数。静态构造函数具有以下特点:静态构造函数既没有访问修饰符,也没有参数。在创建第一个实例或引用任何静态成员之原创 2011-12-31 14:56:07 · 766 阅读 · 0 评论