我正在编写一个股票市场程序,我从文件中读取并使用符号和百分比收益/损失进行排序。我已经完成了符号排序,但无法确定百分比增益损失。基本上我被指示使用向量。我们需要生成按收益/损失百分比排序的列表,我需要按此组件对股票列表进行排序。但是,我不会按组件百分比收益/损失对列表进行物理排序;而是提供关于此组件的逻辑排序。所以基本上我添加了一个数据成员,一个向量来保存按组件百分比收益/损失排序的股票列表的索引。我称它为数组 indexByGain。所以当我打印按增益/损失百分比排序的列表时,我使用数组 indexByGain 来打印列表。我的问题是,如果有人可以向我展示一个示例或解释如何进行此操作,我需要有关如何开始的帮助,我可以继续或纠正我的草稿,这将很有帮助。下面是我的代码的粗略草稿。stockType 与文件中数据的存储位置有关。
#include <iostream>
#include "stockType.h"
class stockListType
{
public:
void sortBySymbols();//sort out symbols and it comiples correctly.
void sortByGain();
void printByGain();
void insert(const stockType& item);
private:
vector<int> indexByGain;//declared a vector array indexByGain..
vector<stockType> list;
};
void stockListType::insert(const stockType& item)
{
list.push_back(item)//inserts the data from file to vector array.
}
//function prints out the gain
void stockListType::printByGain()
{
//my code to print out the gain..
}
//function to sort the gain and this is where i am stuck.
void stockListType::sortGain()
{
int i, j, min, maxindex;
for(i=0;i<list.size();i++)
{
min = i;
for(j=i+1;j<list.size();j++)
list[maxindex].getPercentage()<list[j].getPercentage();
maxindex = j;
indexGain.push_back(maxindex);
}
我知道我错了,但我是在一个良好的基础上开始还是完全在。请你能帮助我或纠正我。谢谢。哦抱歉,在我忘记 getPercentage() 之前计算并返回百分比增益/损失。