【发布时间】:2015-07-06 13:53:16
【问题描述】:
我不知道如何通过名为 VIN 的成员变量之一对对象向量进行排序,该成员变量的数据类型为 string。我要么执行冒泡排序,要么执行选择排序。我最熟悉冒泡排序,所以这就是我试图采取的方向。但是,我知道我需要通过将它们全部设为大写或小写来比较这两个字符串。请记住,字符串中也会包含数字字符。
所以我的问题是: 1)如何将字符串转换为全小写或全ASCII数字和 2)临时变量应该是什么数据类型(类的数据类型或其他一些数据类型)。
这是我目前拥有的(不完整的)代码:
void sortInventory(vector<Vehicle> &carList)
{
bool swap;
string temp;
do
{
swap = false;
for (int count = 0; count < carList.size(); count++)
{
if (carList[count].getVIN() > carList[count + 1].getVIN())
{
temp = carList[count].getVIN();
carList[count].getVIN() = carList[count + 1].getVIN();
carList[count + 1].getVIN() = temp;
swap = true;
}
}
} while (swap);
}
这是我的班级声明:
class Vehicle
{
private:
string VIN;
public:
string getVIN();
void setVIN(string);
};
这是我的类实现:
string Vehicle::getVIN()
{ return VIN; }
void Vehicle::setVIN(string input)
{ VIN = input; }
谢谢!
【问题讨论】: