複雜鍊錶負責三步走

2021-08-04 03:38:29 字數 808 閱讀 2622

複雜鍊錶--每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點

這個問題難點不在於** 在於理解  首先理解複雜鍊錶 他的特殊指標random  他隨機指向乙個節點 也可能為空

個人覺得特殊指標在是一種迷惑  思考時可以忽略它 先想怎麼搞出來複製的鍊錶

1.複製整個鍊錶  比如:a b c     a a. b b.  c c.  暫時不想random

2.搞定random  你複製了整個鍊錶 他們連在一起   那麼 a節點的random 的下乙個位置必定是 複製出來a.的random

的位置3拆分  同樣不用理會random

#includeusing namespace std;

typedef int datatype;

typedef struct complexnode

complexnode;

typedef complexnode node;

void clone(node* head)//複製一遍複雜鍊錶 不管random

}void constructrandom(node* head)//連線複製出來的節點的 random

cur = clone->_next; }}

node* split(node* head)//把複製出來的 和原來的拆分

clone = clone->_next;

cur = cur->_next;

} return clone;

}

圍棋程式三步走

用什麼語言及用win還是linux無所謂。第一步 介面。要求不高,能交替著子,能自動提子 規則 能判定勝負,能記譜 不難,很多人已完成,而且能完成得不錯 不過完美的程式要充分打磨 難度係數計為2 第二步 使程式下完一局棋 用一種或幾種演算法 當然不是完全的隨機演算法 使程式能完成一局棋。其過程中能基...

ExtJs閉包三步走

構造閉包的一般步驟 1 在函式a內部定義乙個函式b 2 通過呼叫a把b的引用返回出來,賦值給其他作用域中的乙個變數c 3 通過c執行b 通過一段 來展示閉包的模版 function a return b var c a c 例 使用閉包模擬私有屬性 var person function getna...

0720 做產品,三步走

好像,事情也沒那麼複雜 發現需求做出產品以滿足需求告知需要的人 發現需求,首先要豐富自己的生活,提高自己的品位。這樣,才能發現生活中不如意的地方,也就是要改進的點。多和不同的人接觸,洞察別人的需求,也是很重要的。有了需求,就得有能力把產品做出來。落實到具體,主要是產品設計和開發。有了好產品,還得讓別...