teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

回答していただいたものへの返信のソースコードです

2020/08/23 02:43

投稿

WindowppleMacin
WindowppleMacin

スコア3

title CHANGED
File without changes
body CHANGED
@@ -70,6 +70,41 @@
70
70
  print(' There is no Player.')
71
71
  ```
72
72
 
73
+ ```python
74
+ if curent: # curent else 条件分岐内にroot削除処理を挿入
75
+ if self.head.num == search_num:
76
+ if self.head.right == None and self.head.left == None:
77
+ self.head = None
78
+ return True
79
+ elif self.head.right == None and self.head.left:
80
+ self.head = self.head.left
81
+ return True
82
+ elif self.head.right and self.head.left == None:
83
+ self.head = self.head.right
84
+ return True
85
+ else:
86
+ head_tmp = self.head
87
+ curent = self.head.right
88
+ prev = None
89
+ while curent.left:
90
+ prev = curent
91
+ curent = curent.left
92
+ self.head = curent
93
+ self.head.left = head_tmp.left
94
+ if curent.num < prev.num:
95
+ prev.left = self.head.right
96
+ else:
97
+ prev.right = self.head.right
98
+ self.head.right = prev
99
+ return True
100
+ else:
101
+ while True:
102
+
103
+
104
+
105
+ 以下続き
106
+ ```
107
+
73
108
  ### 試したこと
74
109
  関数deleteminが間違っている気がして、いろいろ処理を追加したり、rightとleftの書き間違いかと、入れ替えたりしてみたのですが、上記のコードが一番まともに動作しています。
75
110