獲得元素操作
對線性串列的循序儲存結構來說,如果要實現 GetElem 的操作,即將線性串列 L 中的第 i 個位置元素值傳回,其實是非常簡單的。
就程式而言,只要 i 的數值在陣列索引範圍內,就是把陣列第 i-1 索引的值傳回即可。
#define OK 1
#define ERROR 0
/* Status 是函數的型態,其值是函數結果狀態碼,如 OK 等 */
typeof in t Stauts;
/* 起始條件: 循序線性串列 L 已存在, 1 <= i <= ListLength(L) */
/* 操作結果: 用 e 傳回 L 中第 i 個資料元素的值,住一 i 是指位置,第 1 個位置的陣列是從 0 開始 */
Status GetElem(SqList L,int i,ElemType *e)
{
if(L.length == 0 || i < 1 || i > L.length)
return ERROR;
*e = L.data[i - 1];
return OK;
}
換句話說,只要確認位置合法,想在循序線性串列中取得第 i 個元素,直接對應陣列索引減 1 就能輕鬆拿到了。
今日的分享就到這囉,我們明天見,掰掰!