Я пытаюсь написать этот пользовательский класс сложения для очень больших целых чисел, длиннее, чем long.Один из подходов, который я исследую, - это сохранить целое число в виде строки, а затем преобразовать символы в их компоненты int, а затем добавить каждый «столбец».Другой подход, который я рассматриваю, состоит в том, чтобы разбить строку на несколько строк, каждая из которых имеет размер long long, и затем преобразовать ее, используя поток строк, в длинное длинное добавление и затем рекомбинировать.
Несмотря на это, я сталкивался с тем фактом, что сложение осуществляется наиболее просто в обратном порядке, чтобы допустить перенос цифр.В таком случае мне было интересно, насколько эффективен метод вставки для строки.Кажется, поскольку строка представляет собой массив символов, все символы должны быть сдвинуты на один.Таким образом, это могло бы измениться, но казалось бы, эффективность - O (n), где n - число символов в строке.
Это правильно, или это только с наивной интерпретацией?
Редактировать: у меня теперь есть ответ на мой вопрос, но мне было интересно по связанной теме, которая более эффективна, вставляя строкув поток, затем извлекается в Int.Или делать 10 ^ n * char1 + 10 ^ n-1 * char2 ... и т.д.?