我有一个名为 WordSort(worddata W [], int count) 的函数,它输入两个变量 1 - worddata 是保存文件中给定单词信息的数组。count 只是计数器变量,用于查看我们正在查看的数组中的哪个单词。
读入该程序的 words.txt 文件将只是一串单词。
this is a list of words
there are letters and numbers
23 people recommend this program.
继承人的功能:
void WordSort (worddata W [], int count)
{
for (int i=1; i < count; i++)
{
for (int j=i; j > 0 && W[j-1].word > W[j].word; j--)
{
Swap(W[j], W[j-1]);
}
}
}
交换函数假设只要 j > 0 或列表结束,就将每个元素与它之前的元素交换。我对如何完成交换功能感到困惑,这是我给出的示例。
void Swap (worddata & a, worddata & b)
{
int += a;
a = b;
b =+;
}
Swap 假设将每个元素与它之前的元素交换
我认为 WordSort 函数工作正常,唯一缺少的是 Swap 函数。谁能指出我正确的方向或更好地向我解释插入排序?