1、C語言簡(jiǎn)介
C語言是一門面向過程的、抽象化的通用程序設(shè)計(jì)語言,廣泛應(yīng)用于底層開發(fā)。C語言能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器。C語言是僅產(chǎn)生少量的機(jī)器語言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語言。盡管C語言提供了許多低級(jí)處理的功能,但仍然保持著跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語言程序可在包括類似嵌入式處理器以及超級(jí)計(jì)算機(jī)等作業(yè)平臺(tái)的許多計(jì)算機(jī)平臺(tái)上進(jìn)行編譯。
2/7
2、鏈表特征:
(1).由n個(gè)節(jié)點(diǎn)離散分配;
(2).每個(gè)節(jié)點(diǎn)通過指針連接
(3)每一個(gè)節(jié)點(diǎn)由一個(gè)前驅(qū)節(jié)點(diǎn)和一個(gè)后驅(qū)節(jié)點(diǎn)
(4).首節(jié)點(diǎn)沒有前驅(qū)節(jié)點(diǎn),尾節(jié)點(diǎn)沒有后驅(qū)節(jié)點(diǎn);
3、鏈表簡(jiǎn)介
在第一個(gè)結(jié)點(diǎn)的指針域內(nèi)存入第二個(gè)結(jié)點(diǎn)的首地址,在第二個(gè)結(jié)點(diǎn)的指針域內(nèi)又存放第三個(gè)結(jié)點(diǎn)的首地址,如此串連下去直到最后一個(gè)結(jié)點(diǎn)。最后一個(gè)結(jié)點(diǎn)因無后續(xù)結(jié)點(diǎn)連接,其指針域可賦為0。這樣一種連接方式,在數(shù)據(jù)結(jié)構(gòu)中稱為“鏈表”
4、節(jié)點(diǎn)簡(jiǎn)介
節(jié)點(diǎn)由兩個(gè)部分組成,一是數(shù)據(jù)域,用來存放有效數(shù)據(jù);二是指針域,用來指向下一個(gè)節(jié)點(diǎn);下面用C語言來構(gòu)建鏈表數(shù)據(jù)結(jié)構(gòu),首先應(yīng)該構(gòu)造出節(jié)點(diǎn),然后再把所有的節(jié)點(diǎn)連起來,就構(gòu)成了鏈表;
5、節(jié)點(diǎn)的構(gòu)造
typedefstructNode
{intdata;//數(shù)據(jù)域,用來存放數(shù)據(jù)域;structNode*pNext;//定義一個(gè)結(jié)構(gòu)體指針,指向下一次個(gè)與當(dāng)前節(jié)點(diǎn)數(shù)據(jù)類型相同的節(jié)點(diǎn)}NODE,*PNODE;//NODE等價(jià)于structNode;PNODE等價(jià)于structNode*;此處用大寫是為了與變量區(qū)分,可以讓人容易變出是個(gè)數(shù)據(jù)類型
typedef只是給數(shù)據(jù)類型取個(gè)別名,即typedef數(shù)據(jù)類型別名;我們知道structNode是我們定義的數(shù)據(jù)類型;
6、鏈表專業(yè)術(shù)語:
首節(jié)點(diǎn):存放第一個(gè)有效數(shù)據(jù)的節(jié)點(diǎn);
尾節(jié)點(diǎn):存放最后一個(gè)有效數(shù)據(jù)的節(jié)點(diǎn);
頭節(jié)點(diǎn):頭節(jié)點(diǎn)的數(shù)據(jù)類型與首節(jié)點(diǎn)的數(shù)據(jù)類型相同,并且頭節(jié)點(diǎn)是首節(jié)點(diǎn)前面的那個(gè)節(jié)點(diǎn),并不存放有效數(shù)據(jù);頭節(jié)點(diǎn)的存在只是為了方便鏈表的操作。
頭指針:指向頭節(jié)點(diǎn)的指針;
尾指針:指向尾節(jié)點(diǎn)的指針;
7、鏈表的創(chuàng)建
首先,我們應(yīng)該創(chuàng)建一個(gè)頭節(jié)點(diǎn),并用頭指針指向它,用C語言描述:用malloc向計(jì)算機(jī)申請(qǐng)一塊內(nèi)存,并定義一個(gè)指向與頭節(jié)點(diǎn)數(shù)據(jù)類型相同的指針(一定要判斷申請(qǐng)內(nèi)存是否成功);
然后,要知道要?jiǎng)?chuàng)建鏈表的長(zhǎng)度,用一個(gè)循環(huán)來每次創(chuàng)建一個(gè)節(jié)點(diǎn),并把每個(gè)節(jié)點(diǎn)連在一起;