【发布时间】:2016-10-27 08:04:18
【问题描述】:
首先,让我展示一下我的代码。
void findRev(Items* products[], int numOfProd) {
for (int i = 0; i < (numOfProd - 1); i++) {
double rev1 = products[i]->price * products[i]->numSold;
double rev2 = products[i + 1]->price * products[i + 1]->numSold;
if (rev1 > rev2) {
Items* temp = products[i];
Items* temp2 = products[i + 1];
temp2 = products[i];
temp = products[i + 1];
}
}
}
我有一个struct 的不同项目。我正在尝试按收入对它们进行排序,但我必须先找到收入。
我知道我可以在我的结构中添加一个收入字段,但我的教授说我们不允许这样做。
我编写了这个函数,但它并没有按照我想要的方式工作。我以前使用过冒泡排序和选择排序。我似乎无法弄清楚如何在这种情况下使用其中一个。我翻遍了我的书和网上。我的教授最好在排序循环中找到收入。我只是不知道怎么做。反正我可以让它工作吗?
【问题讨论】:
-
您必须编写自己的排序函数还是可以使用标准算法?如果没有,您可以搜索一下冒泡排序。
标签: arrays visual-studio sorting c++11 struct