如何使用冒泡排序将自定义类字符串按升序排序

时间:2019-06-01 08:04:53

标签: c++

我目前正在尝试完成CS类的该程序,剩下要做的就是按升序对字符串进行排序。我正在尝试使用冒泡排序,但它不喜欢某些操作。另外,仅需注意一点,我们必须为此程序创建的类实际上是具有自定义函数和运算符重载的自定义字符串类。

我尝试将AIRString向量中存储的字符串移回AIRString变量,但不会使用它。我认为这是因为赋值运算符重载是如何编写的,导致它不接受向量作为可接受的值。我也尝试过直接在向量内部输出字符串,但也没有这样做。

  

<<运算符重载

ostream & operator<<(ostream & ostrm, const AIRString & rval)
{
    ostrm << rval.str;
    return ostrm;
}
  

气泡排序

for (int i = 0; i < strCount - 1; i++) {
        for (int j = i + 1; j < strCount; j++) {
            if (storedStr[strCount] < storedStr[strCount + 1]) {
                fout << storedStr[strCount] << endl;
            }
        }
    }

请注意,storedStr是AIRString变量,并且冒泡排序中的所有其他变量都是int变量。

我本质上是想在对字符串进行排序时将其打印到输出文件中。我在当前代码中遇到的错误是“没有运算符“ <<”与这些操作数匹配”。我不太确定如何解决此问题,因此将不胜感激。

0 个答案:

没有答案