對於一些基本的概念,我就不多說了~~~
在我的感覺裡鍊錶就是乙個個方塊和箭頭的組成。
那麼,方塊是什麼??箭頭又是什麼??
先說方塊吧,它是鍊錶的最基本的組成單元,當然,這個方塊還可以再分,最簡單的就是單鏈表,只要將其分成2部分就可以了,一部分是我們要儲存的資料,另一塊就是乙個指標。那麼,這些指標是幹什麼的?這就要開始說箭頭了,我們知道,陣列是乙個線性表,它的資料儲存是在連續的物理空間上的,而我們的鍊錶雖然是線性結構,但是它的資料卻是分開的,無序的,如果還想像陣列一樣的用++,--,就像對每乙個元素進行操作,那就不可能了,於是,方塊的另一塊就有用處了,它是乙個指標,而且從方塊的定義,我們可以看出,它是乙個指向方塊的指標。這樣,我們無序的方塊就乙個接乙個的鏈結起來了。
感覺鍊錶感念的以上應該差不多了。下面就是關於鍊錶的一些基本操作,我覺得很多人也只想看這些:
(create,insert,remove,sort,reverse)(對於這些基本的操作我強烈建議多費點紙,因為一些操作指來指去,還是很麻煩的)
寫到一半,果斷要typedef(強力推薦)
typedef struct node
int data;
struct node * next;
}node;
1.create
node *mycreate()
node *head = null;
return head;
建立一條空鍊錶~~~~
2.有了一條空鍊錶,我們就要往裡面插方塊了:
3.會插方塊了就要回刪:
4.然後就是轉置
這樣的話,基本的操作也就結束了~~~~~有點賴了,直接上圖的,望諒解~~~
鍊錶的認識及鍊錶元素的插入
鍊錶的定義 鍊錶 linked list 是一種常見的基礎資料結構,是一種線性表,但是並不會按線性的順序儲存資料,而是在每乙個節點裡存到下乙個節點的指標 pointer 因為鍊錶不用必須按順序進行儲存,因此可以對鍊錶進行增 刪 改 查等操作,下面先介紹鍊錶的幾個插入的例子 1.鍊錶的插入 鍊錶的插入...
認識鍊錶結構exe
a 鍊錶結構 b 鍊錶的初始化 c 在鍊錶中插入資料 結點 d 鍊錶的遍歷 鍊錶 鍊錶有單向鍊錶,也有雙向鍊錶,有迴圈的 環形 在這裡我們只討論 雙向迴圈鍊錶。雙向鍊錶也叫雙鏈表,是鍊錶的一種,它的每個資料結點中都有兩個指標,分別指向直接後繼和直接前驅。所以,從雙向鍊錶中的任意乙個結點開始,都可以很...
關於鍊錶追趕 鍊錶中環的問題
關於環的問題,介紹幾個個經典的題目 1.求鍊錶倒數第k個結點 最經典,最常見的解法就是,設定兩個指標p1,p2,一開始分別指向頭結點,首先p2先移動k個節點,之後開始p1,p2每次移動1個節點,直到p2達到最後乙個節點位置,那麼p1指向的就是倒數第k個節點。不過這種解法主要是針對單鏈表,且鍊錶中不存...