Этот запрос будет работать для вас.
Для обновления таблицы.
ALTER TABLE `column_name` CHANGE `tab` `my_id` INT(11) NOT NULL DEFAULT '0';
Для таблицы вставки
CREATE TABLE `db_name`.`Tbale_name` ( `demo` INT NOT NULL DEFAULT '0');
Можно просто сделать
std::sort(data.begin(), data.end());
И это отсортирует Ваши строки. Затем пройдите их проверяющий, ли они в порядке
if(names.empty())
return true; // empty vector sorted correctly
for(std::vector<std::string>::iterator i=names.begin(), j=i+1;
j != names.end();
++i, ++j)
if(*i > *j)
return false;
return true; // sort verified
В частности, std::string::compare
не мог использоваться в качестве компаратора, потому что он не делает что sort
хочет, чтобы это сделало: Возвратите true, если первым аргументом являются меньше, чем второе, и возвратите false иначе. Если Вы используете sort
как вышеупомянутый, это будет просто использовать operator<
, который сделает точно это (т.е. std::string
заставляет его возвратиться first.compare(second) < 0
).
litb корректен, как всегда.
Я просто хотел указать на более общую точку - что-либо, что может быть по сравнению с <может быть отсортирован со станд.:: вид. Я иногда стащу оператор <функция членства в структуру, именно так я могу сделать это.
Каков вопрос точно? Кажется, что все уже там.
Однако необходимо, вероятно, использовать std::cout << *i << std::endl;
i
итератор == указатель на данные в контейнере, таким образом, *
необходимc_str()
функция std::string
и не переменнаяПроблемы в Вашем коде не касаются Вашего вопроса?
Некоторые подсказки для Вас:
std::vector
также переопределения []
оператор, таким образом, можно вместо этого сохранить стычку итератора и использовать ее как массив (выполняют итерации от 0
кому: vector.size()
).std::set
вместо этого, который имеет автоматически сортировку на вставке (двоичное дерево), таким образом, Вы сохраняете дополнительную сортировку.copy(V.begin(), V.end(), ostream_iterator<std::string>(cout, "\n"));
Для использования вида:
std::sort
или std::vector< std::string>::sort(..)
метод.
Чтобы проверить, отсортировано ли это:
использовать std::is_sorted
поскольку проверка отсортирована - http://www.sgi.com/tech/stl/is_sorted.html
или
std::adjacent_find( v.begin(), v.end(), std::greater< std::string >() ) == v.end()
для Вашего случая Вы могли использовать компаратор по умолчанию
ОТРЕДАКТИРОВАННЫЙ:
std::is_sorted
не стандартная функция stl, она определила в sgi stl реализацию.
Спасибо @Brian Neal для этого примечания.
Вы могли использовать a std::set
, который является естественно отсортированным контейнером.