天天看點

C#順序表(資料結構)

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學的怎樣,想給我項目的樣子),自己都覺得學無止境啊,另外,發現心情不好的時候碼一下代碼,竟然能有這等效果,該不會我已經屌絲到這種地步了吧,哈哈哈哈,以後每個星期學一種資料結構或者一種算法,就這麼決定了。