正在对字符进行排序**
Sorting a char**
所以我正在为一个项目创建一个索引器,我们必须使用 char** 来存储文件中的单词。我正在尝试对数组内的单词进行排序。这是我到目前为止尝试过的:
void Word::arrangeWords(char **&words)
{
char **temp=new char*[getSize()];
temp[getSize()-1]=words[getSize()-1];
for (int i=getSize()-1;i>0;i--)
{
comp=strcmp(temp[i], temp[i-1]);
if (comp<0)
{
temp[i]=words[i-1];
temp[i-1]=words[i];
}
else
{
temp[i]=words[i];
}
}
delete [] words;
words=temp;
}
这最终不起作用,我有点明白为什么。排序更简单的方法吗?提前致谢
在
C++ 中对 0 结尾的字符串进行排序的最简单方法:
#include <cstring>
#include <algorithm>
void sortcstrings(const char** arr, size_t n) {
std::sort(arr, arr+n, [](const char* a, const char* b){
return std::strcmp(a, b)<0;});
}
尽管使用std::string
(以及用于存储它们的std::vector
)可以使一切正常工作,并且不那么容易出错。
相关文章:
- 使用排序函数 c++ 对字符数组进行排序
- 非ASCII字符的词典排序
- 对向量<常量字符 *> 进行排序
- C++ MDC final-在字符类型的数组结构中按字母顺序对记录中的名称进行排序
- 按字母顺序排序字符数组,然后按长度排序
- 如何使用排序和比较这两个函数在 c++ 中对字符数组进行排序?
- 在字符串中对字符进行排序
- 多地图<矢量<int>>,字符>如何排序?
- C++ 从文件中读取字符,计算每个字符并进行排序
- 对包含整数和字符的字符串数组进行排序
- 使用气泡排序从类中对 2D 字符和 Int 数组进行排序
- 通过交换指针对字符数组进行排序,C++
- C++对2D字符数组进行气泡排序
- ASCII 艺术 - 按亮度级别对 ASCII 字符数组进行排序 (C/C++)
- 使用模板对字符串和字符进行排序
- 将字符串重新排序为没有连续相同字符的字符串
- C++ 对字符而不是整个字符串进行排序
- 正在对字符进行排序**
- 对包含特殊字符的 2D 数组进行排序 C++
- 排序的快速排序输出,给出一个附加字符