複雜鍊錶--每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點
這個問題難點不在於** 在於理解 首先理解複雜鍊錶 他的特殊指標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 做產品,三步走
好像,事情也沒那麼複雜 發現需求做出產品以滿足需求告知需要的人 發現需求,首先要豐富自己的生活,提高自己的品位。這樣,才能發現生活中不如意的地方,也就是要改進的點。多和不同的人接觸,洞察別人的需求,也是很重要的。有了需求,就得有能力把產品做出來。落實到具體,主要是產品設計和開發。有了好產品,還得讓別...