鏈表這個詞,既是一種數(shù)據(jù)結(jié)構(gòu),當你在數(shù)據(jù)結(jié)構(gòu)與算法中討論它的時候;也是一種數(shù)據(jù)類型,當你在某一種程序設(shè)計語言中討論它的時候。
當它指一種數(shù)據(jù)結(jié)構(gòu)的時候,他的結(jié)構(gòu)是抽象的,大概描述了元素是有前后順序的,可以遍歷,但一般不可以隨機訪問。它通常有頭,尾,而且可以快速的增刪頭尾。大概就是這樣的結(jié)構(gòu)了。這種操作也都是指在內(nèi)存中的操作。
當它指一種數(shù)據(jù)類型的時候,通常是說的某種語言里面實現(xiàn)了鏈表這種數(shù)據(jù)結(jié)構(gòu)對應的數(shù)據(jù)類型。比如C++中的 list,R中的list,Java中的ArrayList等等。不同語言的鏈表類型實現(xiàn)細節(jié)不同,提供的操作函數(shù)也不完全相同,有的甚至差別還挺大。具體要看這個語言實現(xiàn)的方式。