gpt4 book ai didi

c++ - C++ 中 Char 数组的比较和排序

转载 作者:行者123 更新时间:2023-11-30 17:54:44 27 4
gpt4 key购买 nike

我们现在正在学习 C++,我认为这段代码还不需要我们使用指针。

因此,对于答案的建议,请告诉我是否可以在没有指针的情况下完成。

问题:如何比较 char 数组以便按升序对它们进行排序?

详细信息:

目标:按插入时的升序对名称进行排序

我们这里有:

char name[1024]; // which is a part of a Struct 

插入有效。一旦插入。我正在尝试重新排列顺序,以便名称位于

升序。

我有:

if (RecordCollection[i].name > RecordCollection[i+1].name) // for comparing 

我想这可能是问题所在? C++可以这样比较吗?就像,将约翰与艾米进行比较

那一行?

After that if statement, I am using swapping the elements so they are in correct order. For example: 
If John[0] the current name is > than Amy[1], then copy John to a temporary.
Then copy Amy to index[0].
Then copy John in temporary to index[1].

在输入这个问题时,我想我需要将字符一一比较...J与A,如果不相同则

排序。如果相同,则移至下一个字符,直到找到不同的内容进行排序。但后来我不知道该怎么办

将字符 1 除以 1。

最佳答案

如果您使用字符串,请参阅 strcmp

man strcmp

A value greater than zero indicates that the first character that does not match has a greater value in str1 than in str2; a value less than zero indicates the opposite.

要对数组进行排序,您还可以使用标准 C 库中的 qsort

#include <string.h>

int
cmp (const void *p, const void *q)
{
return strcmp (p, q);
}

qsort (RecordName, nelems, 1024, cmp);

关于c++ - C++ 中 Char 数组的比较和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14790295/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com