, если C++ вы можете использовать STL, но будьте осторожны, что поддержка кросс-платформы STL имеет значение iffy, что может не иметь значения для вас.
Если C, то вы, вероятно, захотите создать структуру данных для хранения всех ваших строк и создания вставки, удаления, изменения функций в этой структуре данных. вы должны найти множество открытых исходных кодов для структуры данных по вашему выбору.
В любом случае, чтобы выбрать подходящую структуру данных, вам необходимо рассмотреть ваши шаблоны поиска и вставки, как часто вы вставляете? как часто вы «смотрите»? это поиск вверх путем поиска подходящей строки или вы можете сделать что-то более интеллектуальное/быстрее? в основном требуется больше информации.
например, если строки уникальны, и вы имеете дело со множеством строк, имеет смысл рассчитать хэш строки и сохранить их в чем-то вроде дерева RB, связанного с этим хэшем. если вы никогда не получаете более 10 строк, это может не иметь смысла делать это, или, может быть, приложение таково, что вы можете просто назначить идентификатор строке и использовать индекс в качестве ключевого слова.
есть много вариантов.
В простой C вы можете написать связанный список и использовать его. – Parappa
Правда. Связанный список может быть полезным способом обработки этого. Однако при правильной процедуре просто установка указателя в новый массив по мере необходимости довольно быстро и просто. –