對于地址不連續(xù)的比如鏈表,鏈隊之類的,結(jié)點與結(jié)點之間靠next指針連接(假設單鏈).
那么,從鏈首找到鏈中間某個元素需要一直沿next指針尋找,
麻煩在于編程不方便.
可否在形式上統(tǒng)一對連續(xù)空間和非連續(xù)空間的訪問方式,
通過增加一個智能指針,記關鍵字為smart,將結(jié)點的next指針用smart標記
比如鏈表:
typedef struct LNode
{
?? ElemType data;
?? smart?? struct LNode * next;
}LNode, *LinkList;
LinkList L;
smart? p = L?;
//初始化
//各項鏈表操作
p = p+i ; //訪問第i個結(jié)點
這樣不用通過while(p->next != NULL) {p= p->next;}
訪問方式及其簡便,就像訪問連續(xù)地址的數(shù)組一樣,這不是很好嗎?
當然, 運行時本質(zhì)上仍然不能直接訪問,我想做到的只是,編程簡單方便,無可厚非.
大家不要抱著一個"不存在就是不合理的"想法,希望可以共同探討.
posted on 2006-12-22 12:49
哈哈 閱讀(837)
評論(6) 編輯 收藏 引用