1918年5月16日、法律は「アメリカ政府...またはアメリカ国旗、陸軍または海軍の制服に対して不義、不敬、悪口または罵倒するような言葉」を使った多くの類型の演説を禁止する事実上のスパイ活動法の改正である1918年の治安法によって拡充された。治安法は非公式な名称であるため、容疑がスパイ活動法、または非公式に治安法として知られる改正法の条項に基づく場合では、裁判においてスパイ活動法の名称が用いられた。1921年3月3日、改正治安法は廃止されたが、スパイ活動法の多くの条項は合衆国法典第18編第37章として編入され、そのまま残った。1933年、シギントの専門家ハーバート・ヤードリーが日本の暗号を解読したことに関する本を出版し、広く大衆に知られるところとなったため、外国の暗号解読やアメリカが送信したいかなる暗号に関する情報の公開も禁止するよう法律は改正された。1940年、法律は罰則を増やすために改正され、1970年にも再び改正された。1940年代後半、合衆国法典は再編纂され、第50章（戦争）のほとんどの条文は第18章（犯罪）へと移動された。1950年にはマッカラン国内保安法が合衆国法典第18章第793条に付け加えられ、また同じ年、合衆国法典には第18章第798条が加えられた。1961年、リチャード・ポフ下院議員は、第18章第791条の施行について、数回の試みの後、「アメリカの司法権が及ぶ領海内およびアメリカの領土内」 に限定されているという表現を除去することに成功した。彼は国務省の職員であるアーヴィン・スカーベックがポーランドで脅迫された事件が起きてからは、いかなる場所でもこの法律を適用する必要性があると語った。
福岡県大牟田市出身。1959年、東京教育大学を卒業し、日本経済新聞社に入社する。1979年、同社を退社。ヒューマンスキル研究所を設立した。全国の企業、商工会、学校で講演を行っており、その数は7,000回を超えている。
島津以久の次男。子のなかった入来院重豊の養嗣子として入り、入来院氏の15代当主となる。豊臣秀吉の九州平定では島津歳久・新納忠元らと共に奮戦した。文禄の役では日本に残ったが、慶長の役では島津義弘に従い渡海した。慶長4年（1599年）の庄内の乱では島津宗家方に属したものの、伊集院忠真方に重時の家臣が参加していた事から、徳川家康に釈明するため上京した島津忠恒に同行している。慶長5年（1600年）、関ヶ原の戦いで島津義弘の隊に従軍していたが、撤退戦で本隊とはぐれてしまい、近江国で東軍の兵に発見され、主従7名と共に討ち取られた。重時には女子しか子がいなかったため、入来院氏には島津義虎の五男が婿養子入りし、入来院重高と名乗って家督を継いだ。
双方向リストでは更新すべきポインタが増えるが、逆方向のポインタでリスト上の前の要素を参照できるため、操作に必要な情報は少なくて済む。これにより、新たな操作が可能となり、特殊ケースの関数が不要になる。ノードには前の要素を指す "prev" フィールドが追加される。また リスト構造の "lastNode" が最後尾のノードを指す。空のリストの場合、"list.firstNode" も "list.lastNode" も "null" である。 record Node {    data // ノードに格納されるデータ    next // 次のノードへの参照（最後尾の場合は null）    prev // 前のノードへの参照（先頭の場合は null） } record List {     Node firstNode   // リストの先頭ノードを指す（空のリストの場合は null）     Node lastNode    // リストの最後尾ノードを指す（空のリストの場合は null） }双方向リストでは双方向に繰り返しが可能である。方向は必要に応じて何度でも変えられる。順方向 node := list.firstNode while node ≠ null     <node.data に対して何か行う>     node := node.next逆方向 node := list.lastNode while node ≠ null     <node.data に対して何か行う>     node := node.prev指定したノードの次に新たなノードを挿入する関数と、前に挿入する関数を示す。 function insertAfter(List list, Node node, Node newNode)     newNode.prev := node     newNode.next := node.next     if node.next = null         list.lastNode := newNode     else         node.next.prev := newNode     node.next := newNode function insertBefore(List list, Node node, Node newNode)     newNode.prev := node.prev     newNode.next := node     if node.prev is null         list.firstNode := newNode     else         node.prev.next := newNode     node.prev    := newNode空のリストを含むリストの先頭に新たなノードを挿入する関数が必要となる。 function insertBeginning(List list, Node newNode)     if list.firstNode = null         list.firstNode := newNode         list.lastNode  := newNode         newNode.prev := null         newNode.next := null     else         insertBefore(list, list.firstNode, newNode)同様に、最後尾にノードを挿入する関数を示す。 function insertEnd(List list, Node newNode)     if list.lastNode = null         insertBeginning(list, newNode)     else         insertAfter(list, list.lastNode, newNode)ノードの削除は簡単で、firstNode と lastNode にだけ注意すればよい。 function remove(List list, Node node)   if node.prev = null       list.firstNode := node.next   else       node.prev.next := node.next   if node.next = null       list.lastNode := node.prev   else       node.next.prev := node.prev   destroy nodeこの手続きで、リストから1つだけ残っているノードを削除する場合、"firstNode" と "lastNode" が "null" に設定され、正しく処理が行われる。また、"removeBefore" や "removeAfter" といった手続きは不要であり、単に "remove(node.prev)" や "remove(node.next)" を呼び出せばよい。