我有一个ElementType结构
typedef struct
{
int AtomicNumber;
char Name[31];
char Symbol[4];
} ElementType;
我正在尝试实现一种排序算法,该算法将按字母顺序对元素进行排序。我比较字符串,但没有任何效果。我无法确定下面的函数出了什么问题。
void sortAlphabetical(ElementType elements[NUM_ELEMENTS])
{
printf("SORTING!\n");
int c, d;
for (c = 0 ; c < NUM_ELEMENTS - 1; c++)
{
for (d = 0 ; d < NUM_ELEMENTS - c - 1; d++)
{
if (elements[d].Name > elements[d+1].Name)
{
ElementType temp;
temp.AtomicNumber = elements[d].AtomicNumber;
strcpy(temp.Name, elements[d].Name);
strcpy(temp.Symbol, elements[d].Symbol);
elements[d].AtomicNumber = elements[d+1].AtomicNumber;
strcpy(elements[d].Name, elements[d+1].Name);
strcpy(elements[d].Symbol, elements[d+1].Symbol);
elements[d+1].AtomicNumber = temp.AtomicNumber;
strcpy(elements[d+1].Name, temp.Name);
strcpy(elements[d+1].Symbol, temp.Symbol);
}
}
}
}