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

回答編集履歴

3

reverseについて追記

2020/05/08 09:19

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -14,4 +14,8 @@
14
14
  ```
15
15
  です。
16
16
 
17
- `f`と`c`が初期化されていませんが、コードを貼る際に省略して漏れたということでしょうか。
17
+ `f`と`c`が初期化されていませんが、コードを貼る際に省略して漏れたということでしょうか。
18
+
19
+ ---
20
+ `for`内で`type==1`の場合に`reverse`を呼んでいますが、10万文字を何度も並びかえるのは処理時間の無駄です。
21
+ `type==1`の場合は挿入位置を逆転させ、最後に並び替えが必要か判定したほうがよいのでは?

2

コード追記

2020/05/08 09:19

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -1,13 +1,17 @@
1
1
  [std::basic_string<CharT,Traits,Allocator>::insert](https://ja.cppreference.com/w/cpp/string/basic_string/insert)
2
2
 
3
- 先頭に1文字挿入したいのであれば、
3
+ 先頭に`c`に格納されている1文字挿入したいのであれば、
4
4
  ```C++
5
5
  s.insert(0,c);
6
6
  ```
7
7
  ではなく
8
8
  ```C++
9
- s.insert(s.begin(),c);
9
+ s.insert(s.begin(), c);
10
10
  ```
11
+ もしくは
12
+ ```C++
13
+ s.insert(0, 1, c);
14
+ ```
11
15
  です。
12
16
 
13
17
  `f`と`c`が初期化されていませんが、コードを貼る際に省略して漏れたということでしょうか。

1

誤字修正

2020/05/05 10:08

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -10,4 +10,4 @@
10
10
  ```
11
11
  です。
12
12
 
13
- `f`と`c`が初期化されていませんが、省略した際に漏れたということでしょうか。
13
+ `f`と`c`が初期化されていませんが、コードを貼る際に省略し漏れたということでしょうか。