回答編集履歴

2

追記

2015/11/20 01:41

投稿

Chironian
Chironian

スコア23272

test CHANGED
@@ -39,3 +39,57 @@
39
39
 
40
40
 
41
41
  たぶん、何かのサンプル・ソースと思いますが、あまりにひどすぎるインデントは自分流で良いので適切に修正した方が良いと思います。
42
+
43
+
44
+
45
+ ---
46
+
47
+
48
+
49
+ 【追記】
50
+
51
+ lengthで制限する案を書きました。
52
+
53
+ 戻り値を追加し、見つからなかった場合falseにしてみました。
54
+
55
+ (ビルドしてみてませんので間違っていたらごめんなさい。)
56
+
57
+ ```C++
58
+
59
+ bool Sortedlist::DeleteItem(ItemType item)
60
+
61
+ {
62
+
63
+ int location;
64
+
65
+ for (location=0; location < length; ++location)
66
+
67
+ {
68
+
69
+ if (item.ComparedTo(info[location] == EQUAL)
70
+
71
+ break;
72
+
73
+ }
74
+
75
+ if (length <= location)
76
+
77
+ return false;
78
+
79
+
80
+
81
+ info[location]=info[length-1];
82
+
83
+ length--;
84
+
85
+ return true;
86
+
87
+ }
88
+
89
+ ```
90
+
91
+
92
+
93
+ lengthで有効範囲を管理しているのにアクセス範囲をlengthで制限しないのは、如何なものかと感じます。
94
+
95
+ 教育のためと考えても、reotantanさんが混乱しているようにlengthの意味が分からなくなるので、あまり適切とは思えないです。

1

不足追加

2015/11/20 01:41

投稿

Chironian
Chironian

スコア23272

test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  ```
28
28
 
29
- 関数名や変数名からすると、単に下記の書き間違いではないでしょうか?
29
+ 関数名や変数名、処理の流れから推測すると、単に下記の書き間違いではないでしょうか?
30
30
 
31
31
  ```C++
32
32