鏈式儲存結構:
結構:
資料域指標域
data
next
結點定義:
typedef struct lnode
lnode,*linklist;
頭指標:linklist即為頭指標。本身一般不儲存資訊(也可儲存長度等相關資訊),指向第乙個元素結點
頭結點≠頭指標 鍊錶必須要頭指標,但是不一定有頭結點
頭結點的好處:①方便操作和處理(對於第乙個元素而言)。②空表和非空表操作統一
操作:頭插法:將新結點插入到當前表頭
頭插法建立的資料順序與讀取的資料順序相反。
}尾插法
尾結點指標置空
return l;
}尾插法建立的資料順序與讀取的資料順序一致。
②查詢結點
1. 按序號
從第乙個結點出發,順指標next域逐個往下搜尋,知道找到第i個結點,否則返回最後乙個結點的指標域null。
lnode *getelem_loc(linklist l, int i)
return p;
}2.按值
lnode *getelem_data(linklist, elemtype e)
③插入(按位置)
p=getelem_loc (l,i-1); //獲取前驅指標
s->next = p->next; //將*s的指標域指向*p的後繼結點
p->next=s; //令結點*s的指標域指向新插入的結點*s
④刪除操作
p=getelem_loc(l,i-1); //獲取被刪除位置的前驅指標
q=p->next; //輔助指標(指向被刪除結點)
p->next=q->next; //p指向結點的後繼指向被刪除節點的後繼
delete q; //釋放記憶體
c 學習筆記 單鏈表
總結自己關於鍊錶的一些理解與學習 鍊錶就是鏈結和 的結合,即指標與資料的結合,個人理解就是乙個個首尾相連的方格 如圖所示,就是乙個個小方格,裡面存放著資料與指標,每個小方格由指標相互連線起來,最前面的叫頭指標,最後面的指標為0.本例使用的是嵌入類來實現鍊錶,當然也有繼承類 復合類 結構體等實現方式。...
C 學習筆記(六)
函式 函式時乙個命名了的 塊,通過呼叫函式執行相應的 可以有0個或多個引數,通常會產生乙個結果。1.乙個典型的函式包含了四個部分 返回型別,函式名,形參列表以及函式體。2.函式的呼叫完成兩項工作 一是用是引數 隱式的 初始化函式對應的形參,當呼叫乙個函式時,首先建立乙個同型別的變數a,然後將a初始化...
c 學習筆記六
指標 可以使用指標記號操作儲存在陣列中的資料 可以在函式中訪問函式外部的大塊資料 動態為新變數分配空間 1 指標的宣告 long pnumber 2 位址運算子 例如 long number 1234l long pnumber pnumber number 3 間接運算子 4 指標的初始化 可以用...