【數(shù)據(jù)結(jié)構(gòu)】如何創(chuàng)建一個單鏈表
創(chuàng)建單鏈表
?????????如何創(chuàng)建一個單鏈表?那不是非常簡單嘛?單鏈表與線性表不同,由于它屬于一種動態(tài)結(jié)構(gòu),可以根據(jù)節(jié)點插入位置的不同,分為前插法和后插法。

????????1.前插法創(chuàng)建單鏈表
????????前插法就是每次先輸入一個節(jié)點,然后將這個節(jié)點插入到頭節(jié)點之后,依次往復(fù),就可以創(chuàng)建一個單鏈表。

????(1)首先創(chuàng)建一個鏈表,將鏈表的頭節(jié)點指針先設(shè)為空。
????(2)然后創(chuàng)建一個節(jié)點,然后將這個節(jié)點插入即可。
????? ? 下面將用代碼解釋如何插入此節(jié)點。
???????

?????????講一講前插法的一些難點;
????????(1)第16行的這里,把L指向的節(jié)點給新輸入節(jié)點的指針。
????????(2)前插法的插入順序是與邏輯順序相反的,拿數(shù)組來說,輸入數(shù)字都是從左往右輸入;但是鏈表前插法是將每個數(shù)字插入到最前面,比如輸入的是1 2 3;?但是輸出其實存儲順序是 3 2 1;

????????????然后就是這個樣子。(往后順序順推即可?。?/p>
?????2.后插法創(chuàng)建單鏈表
????????相對于前插法,如果題目輸入沒有特別要求的話,一般使用后插法使用即可。如果題目有特殊要求的話可以采用前插法。而我們更應(yīng)該注重后插法的使用與掌握。
????????書上有一句話是這樣說的:“不同的是,為了使新節(jié)點能夠插入表尾, 需要增加一個尾指針指向鏈表的尾節(jié)點”, 這句話比較重要,先牢記,讓我們進入后插的學(xué)習(xí)中。
????????(1)和前插法一樣,我們都要先生成一個新的節(jié)點p,以方便節(jié)點插入。
????????(2)這一步是后插法最難理解的地方,課本在這一步的描述是:“將新節(jié)點*p插入尾節(jié)點*r之后”, 我們一定要知道當(dāng)前 r 節(jié)點到底在哪,我們一開始會將 r 指向頭節(jié)點。我們每輸入一個新的節(jié)點p,就插入到尾指針之后 ,然后再讓尾指針后移到新節(jié)點p上 , 如果這一步理解了,那么后插法基本沒什么問題了。
????????理論存在,直接上代碼。
最后,讓讀者看一下兩個插入方法的區(qū)別:

節(jié)點定義與課本相同

