Приветствую всех, я пишу программу фондового рынка, где я читаю из файла и сортирую с символами и процентом выигрыша/потери. Я закончил сортировку с символами, но не смог установить процентную потерю. В основном мне поручено использовать векторы. Мы должны составить список, упорядоченный по проценту прибыли/убытка, и мне нужно отсортировать список запасов по этому компоненту. Однако я не должен физически сортировать список по проценту процента/потери компонента; вместо этого обеспечивают логический порядок в отношении этого компонента. , так что в основном я добавил элемент данных, вектор для хранения индексов списка запасов, упорядоченных по проценту процента/убытка. Я назвал массив arrayByGain. поэтому, когда я печатаю список, упорядоченный процентным коэффициентом усиления/потери, я использую массив 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);
}
pls голый как черновик. Я знаю, что я ошибаюсь, но я начинаю с хорошей базы или полностью. пожалуйста, вы могли бы помочь мне или исправить меня. Благодарю. о, жаль, прежде чем я забуду getPercentage() вычисляет и возвращает процентное усиление/потерю.
Просто надо знать, что станд :: сортировать вызывает конструктор копирования базы элемент несколько раз. Если производительность ухудшается, проверьте свой конструктор копирования. – cup
@cup Какой «базовый элемент»? –