xmfdsh我近来心情实在不好,只因为这两天课比较少,然后一下子时间太多,不知道干什么,心情郁闷。。。。。。这是要闹哪样?这都让我一个郁闷了一个晚上。闲来无聊,回顾下之前学的c#数据结构,数据结构的重要性无论是对于哪门语言都是很必要也很重要的,课程中老师教的c语言,然后我自己自学的c#,再自学了c#的数据结构,对比了下,发现c,c++这些有着指针,比较低级点的语言,写起数据结构更加能考验一个人的思维,c#作为一门高级语言,也是有着自己一套数据结构的,这些更深层次的对比等我都学了比较精通再来慢慢对比吧。
附上整个项目的源码:
今天的主题:顺序表
在计算机内,保存线性表最简单的方式,就是把表中的元素一个接着一个地放进顺序的存储单元,这就是线性表的顺序存储。线性表的顺序存储是指在内存中用一块地址连续的空间一次存放线性表的数据元素,用这种方式存储的线性表叫顺序表。
由于只考虑到线性表的基本操作,所以以c#接口的形式表示线性表,接口中的方法成员表示基本操作,为了使线性表对任何数据类型都使用,数据元素的类型使用泛型的类型参数
线性表的接口如下表述:
接下来就是定义一个类来实现这些接口,首先今天讲的既然是顺序表的话,那么我定义一个listds类,来实现这些接口,在那之前先在顺序表中定义几个参数,和实现这些参数的属性:
接下来便是实现这些接口了,方法很简单,既然是数组的话,没有指针什么的,就没有什么难度,像之前学c一样很直接的方式:
接下来整个数据结构就基本实现了,那么那些实现的菜单和测试的方法我就不写了,再做几道经典的题目吧,首先,就是顺序表倒置,很简单,其实就是泛型的t不一样:
第二题:按升序
合并两个表(只限int类型),这里还是可以不一定要限制int类型的,有兴趣的可以去尝试一下,我就拿之前c的最简单的int类型来操作
;
第三题:构造顺序表lb,只包含la中所有值不相同元素(以int类型为例)
好,顺序表就这样完成了,一下子心情大好,在码这些数据结构的时候,xmfdsh一直在思考,不仅仅思考这个数据结构,更多的是为什么今天会如此焦虑,如此慌乱,明明那么多东西要做,那么多东西要学,当时间来的时候,为什么一下子迷茫到不知道学点什么,一个晚上,xmfdsh终于得出了自己的结论,尽管asp.net
的mvc已经算入门,而且很喜欢,但是asp.net的基础还不是很牢固,更应该去好好学习(昨晚一位师兄突然问我asp.net学的怎样,想给我项目的样子),自己都觉得学无止境啊,另外,发现心情不好的时候码一下代码,竟然能有这等效果,该不会我已经屌丝到这种地步了吧,哈哈哈哈,以后每个星期学一种数据结构或者一种算法,就这么决定了。