class Medicine{
protected:
int id;
int stock;
string name;
int concentration;
public:
Medicine();
Medicine(int id,int s,const string n,int c);
Medicine(const Medicine& m);
Medicine& operator=(const Medicine& m);
virtual ~Medicine();
int getStock() const;
int getConcentration() const;};
模块 1
template<typename T> class Vector
{
private:
T* Elems;
int Size;
int Capacity;
public:
Vector()
~Vector()
void add(T e)
void remove(int pos)
int getSize() const
int getCapacity() const
T get(int pos) const;}
template <typename T>
T Vector<T>::get(int pos) const
{
if (pos < 0 || pos >= this->getSize())
return NULL;
return this->Elems[pos];
}
模块 2
class MedRepo :
public:~MedRepo();
void addMed(Medicine s);
void upgrade(Medicine s);
Medicine* findById(int medId) ;
virtual void removeMed(int id) ;
int getNrMeds();
Vector<Medicine*> getAll() ;
protected:
Vector<Medicine*> MedList;
};
模块 3
typedef int (*comparefunction)(const void*, const void*);
int compareSA(const Medicine* e1, const Medicine* e2){
int q1 = (*(Medicine **) e1)->getStock();
int q2 = (*(Medicine **) e2)->getStock();
if (q1 < q2){
return -1;
}
else{
if (q1>q2){
return 1;
}
return 0;
}
}
模块 4
所以,这是我的代码的一部分,我想做的是根据一些标准对我的对象进行排序,其中一个是第 4 个模块中的那个。我从本周开始一直在学习课程,我'发现了一些类似的问题,但我不了解排序的整个过程。我刚刚阅读了一些内容std:sort
,std::stable_sort
但我不知道如何将它们用于我的数据。我现在所拥有的是:
Vector<Medicine*>* Control::sortByStockAsc(){
Vector<Medicine*> all =repo->getAll();
任何想法,建议,帮助?