C 語言及其應用 線性表中單鏈表的應用

2021-10-03 23:17:44 字數 1396 閱讀 8796

在學習線性表的過程中,老師一遍教一邊用c#實現了各種相關的類,例如順序表、單鏈表等,本次作業要求用單鏈表實現如下的要求:

由於之前的單鏈錶類已經有了**,所以只需要做好窗體以後實現相關的按鈕**即可。

在窗體中用單鏈表來儲存資料,按鈕相關插入查詢、插入、刪除、更新等操作可直接呼叫類的方法。

由於**比較複雜,所以一步一步分開來說吧:

首先我們需要建立乙個城市的類,裡面有名字和它的座標:

建立完類以後我們窗體儲存資料的單鏈表中即是該類,然後就是建立窗體,把所有用到的控制項加進去並且改好名字,以方便我們在編寫程式時更好的識別。

這裡起名字有一些比較好的方法,例如:「控制項縮寫名_功能名」。

控制項縮寫可以參考這裡。

以下是我的窗體和所用到的控制項名字。

接下來就是各個功能的實現了,首先來看一下大體所需要的功能:

構造窗體沒有要加入的東西,但是在視窗載入的時候我們需要將_lst例項化,這個我一開始沒有注意到,報錯說沒有引用時才突然想起來,這裡很容易出錯。

之後就到了最麻煩的地方了,一開始想用小鬧鐘時的方法,後來在寫的過程中發現有一些重複的操作,於是改了一下用if_else if的形式。

把三個頭插、尾插和插入三個操作放在一起,裡面再用switch語句;

更新為乙個單獨的操作,因為它需要城市資訊和索引,本來是和上面一起的,但是發現更新不需要檢測_lst是否存在相同的城市(其實放一起也可以);

刪除為單獨乙個情況,因為只需要索引;

搜尋座標為單獨乙個情況,因為只需要城市名字;

2 2 線性表的單鏈表

ps 1 p l的結點都是指標型別 2 頭結點插入與輸出的順序相反 3 注意左值與右值的區別 p next q next q next是指到的下乙個結點,非指標本身 p next是指標本身 即p的指標域 與左值右值有關 4 後移用p p next 不用 p 因為位址不連續 p next 表示指標變數...

線性表(二) 單鏈表(1) 單鏈表的建立

all right resvered 檔名稱 單鏈表的建立.cpp 作 者 鄭兆涵 線性表 二 單鏈表 1 問題 定義單鏈表儲存結構,用頭插法和尾插法建立單鏈表,並顯示建立好以後的結果。程式設計 include include typedef int elemtype typedef struct ...

線性表的鏈式表示(單鏈表)

鍊錶的好處在於插入和刪除元素時只需改變指標的指向,減少操作次數。鍊錶的儲存結構可以是順序的 靜態鍊錶 也可以是無序的。缺點是隨機訪問時需要遍歷整個表。本文用無序的儲存結構實現了單鏈表。線性表的鏈式表示 單向鍊錶 lovesunmoonlight include include include inc...