如何按字母顺序对字符串排序?

周杰伦

我一直在尝试使用此C ++程序按字母顺序对5个名称进行排序:

#include <iostream>
#include <cstring>
#include <conio.h>
using namespace std;

int main()
{
char names[5][100];
int x,y,z;

char exchange[100];

cout << "Enter five names...\n";

for(x=1;x<=5;x++)
{
    cout << x << ". ";
    cin >> names[x-1];
}
getch();

for(x=0;x<=5-2;x++)
{
    for(y=0;y<=5-2;y++)
    {
        for(z=0;z<=99;z++)
        {
            if(int(names[y][z])>int(names[y+1][z]))
            {   
                strcpy(exchange,names[y]);
                strcpy(names[y],names[y+1]);
                strcpy(names[y+1],exchange);
                break;
            }
        }   
    }
}   

for(x=0;x<=5-1;x++)
    cout << names[x];

return 0;
}

如果分别输入Earl,Don,Chris,Bill和Andy,我会得到以下信息:

AndyEarlDonChrisBill

有人可以告诉我我的程序有什么问题吗?

安吉尔·卡斯蒂略(AngelCastillo)

您可以使用字符串的std :: set或std :: multiset(如果允许重复的项目),它将保持项目的自动排序(如果需要,您甚至可以更改排序标准)。

#include <iostream>
#include <set>
#include <algorithm>

void print(const std::string& item)
{
    std::cout << item << std::endl;
}

int main()
{
    std::set<std::string> sortedItems;

    for(int i = 1; i <= 5; ++i)
    {
        std::string name;
        std::cout << i << ". ";
        std::cin >> name;

        sortedItems.insert(name);
    }

    std::for_each(sortedItems.begin(), sortedItems.end(), &print);
    return 0;
}

输入:

  1. 杰拉多
  2. 卡洛斯
  3. 卡米尔
  4. 天使
  5. 博斯科

输出:

Angel
Bosco
Carlos
Gerardo
Kamilo

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何按字母顺序对字符串的ArrayList进行排序?

如何按字符串长度和字母顺序排序?

如何按字母顺序对字符串进行排序

如何按字母顺序对由逗号分隔的字符串进行排序,并按成员的姓氏按字母顺序进行排序?

在字符串中按字母顺序对字符进行排序

如何在Python中按字母顺序对字符串中的字母进行排序

Python:如何按字母顺序对字符串中的字母进行排序,以区分大写和小写

如何使用sql按字符串排序的字母顺序对单词进行排序

基数按长度和字母顺序对字符串排序

为什么字符串按字母顺序排序?

使用函数按字母顺序对字符串排序

计算按字母顺序排序的子字符串

Python按字母顺序对字符串排序,小写优先

用Solr按字母顺序对字符串排序

Visual Basic字符串数组按字母顺序排序

合并多个输入字符串以按字母顺序排序

按字母顺序对C字符串数组进行排序

如何计算字符串中的字符数,然后按字母顺序排序?

如何在Python中按字母顺序对字符串排序?

如何根据名称和查询字符串按字母顺序对对象数组进行排序?

如何按字母顺序对字符串数组进行排序并防止c中的突变

如何在Python中按字母顺序对unicode字符串排序?

如何在Common Lisp中按字母顺序对unicode字符串排序?

如何在F#中按字母顺序对字符串排序?

如何按字母顺序对记录名称为:字符串字段的记录数组进行排序?

如何将NSMutableArray中的字符串按字母顺序排序?

如何使用角度orderBy过滤器按字母顺序对字符串数组进行排序?

如何在Java中按字母顺序对字符串数组进行排序?

如何在C ++中按字母顺序对标准输入字符串进行排序?