本教程详细介绍了如何使用C++对字符串进行排序的方法和技巧,包括常用库函数及自定义比较规则的应用示例。
以下是用C++编写的字符串排序程序:
```cpp
#include
#include
#include
#include
#define N 10
void sort(char *a[]) /* 排序函数 */
{
char *temp;
int i, j;
for(i = 0; i < N - 1; ++i)
for(j = i + 1; j < N; ++j)
if(strcmp(a[i], a[j]) > 0) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
int main(void )
{
int i;
char s[N][81], *p[N];
printf(Please input %d strings one by one:\n, N);
for(i = 0; i < N; ++i) {
gets(s[i]);
p[i] = s[i];
}
sort(p);
printf(\nThe sequence after sorting is:\n);
for(i = 0; i < N; ++i)
printf(%s\n,p[i]);
getch();
return 0;
}
```
这段代码定义了一个用于字符串排序的函数`sort()`,并使用了标准库中的`strcmp()`函数来进行比较。程序首先要求用户输入N个字符串(这里设定为10),然后将这些字符串按字典顺序进行排列,并最后输出经过排序后的结果。
注意:在实际编程环境中不推荐使用gets()函数,因为它存在缓冲区溢出的风险。建议用fgets()替代以提高安全性。