線性表15 :?魔術師發牌問題和拉丁方陣
?讓編程改變世界
Change the world by program
?
題外話
? 今天小甲魚看到到微博有朋友在問,這個《數據結構和算法》系列課程有木有JAVA版本的? 因為這個問題之前也有一些朋友問過,所以咱在這里統一說下哈。 ? 這個你要這么想,我們懷著民族情結看日本AV的時候,我們固然是完全不知道她們在所啥的,這點你要承認,但是我們對于師生,地鐵,公車,辦公室等的劇情確實了然指掌,完全可以忽略語言的障礙! 那么,編程為什么不可以呢?! ?魔術師發牌問題
? 問題描述:魔術師利用一副牌中的13張黑牌,預先將他們排好后疊放在一起,牌面朝下。對觀眾說:“我不看牌,只數數就可以猜到每張牌是什么,我大聲數數,你們聽,不信?現場演示。”魔術師將最上面的那張牌數為1,把他翻過來正好是黑桃A,將黑桃A放在桌子上,第二次數1,2,將第一張牌放在這些牌的下面,將第二張牌翻過來,正好是黑桃2,也將它放在桌子上這樣依次進行將13張牌全部翻出,準確無誤。? 問題:牌的開始順序是如何安排的? ? 請利用循環鏈表來解決:Magician.c ?
拉丁方陣問題
? 拉丁方陣是一種n×n的方陣,方陣中恰有n種不同的元素,每種元素恰有n個,并且每種元素在一行和一列中 恰好出現一次。 著名數學家和物理學家歐拉使用拉丁字母來作為拉丁方陣里元素的符號,拉丁方陣因此而得名。 ? 例如下圖是一個3×3的拉丁方陣: [caption id="attachment_1984" align="alignnone" width="368"]