問(wèn)答題假設(shè)在算法描述語(yǔ)言中引入指針的二元運(yùn)算“異或”,若a和b為指針,則a⊕b的運(yùn)算結(jié)果仍為原指針類(lèi)型,且a⊕(a⊕b)=(a⊕a)⊕b=b;(a⊕b)⊕b=a⊕(b⊕b)=a。則可利用一個(gè)指針域來(lái)實(shí)現(xiàn)雙向鏈表L。鏈表L中的每個(gè)結(jié)點(diǎn)只含兩個(gè)域:data域和LRPtr域,其中LRPtr域存放該結(jié)點(diǎn)的左鄰與右鄰結(jié)點(diǎn)指針(不存在時(shí)為NULL)的異或。若設(shè)指針L.Left指向鏈表中的最左結(jié)點(diǎn),L.Right指向鏈表中的最右結(jié)點(diǎn),則可實(shí)現(xiàn)從左向右或從右向左遍歷此雙向鏈表的操作。試寫(xiě)一算法按任一方向依次輸出鏈表中各元素的值。

您可能感興趣的試卷