【发布时间】:2021-01-09 19:05:40
【问题描述】:
我正在学习 C++。我创建了两个结构(日期和电话):
struct Date {
unsigned int day, month, year;
};
struct Phone {
std::string name;
Date purchase_date;
};
然后我用 std::cin 为多部手机插入一些数据。我的主要功能:
int main()
{
Phone *phone[3];
phone[0] = new Phone;
phone[1] = new Phone;
phone[2] = new Phone;
insertDataForPhone(*phone, 3);
for(unsigned short itr = 0; itr < 3; itr++)
{
delete phone[itr];
}
std::cin.get();
return 0;
}
我的问题是:如何按创建的日期(升序)对数组电话进行排序?
【问题讨论】:
-
对于排序,您应该使用 STL 的排序功能,除非您想重新发明轮子以进行学习,但是您当前的代码存在很多问题,我怀疑它甚至可以编译...
-
我可以通过移动指针以某种方式做到这一点吗?
-
各种库排序函数都接受一个自定义函数,该函数可以获取指针,然后对尖顶对象的成员执行比较。 Sorting Array of Pointers in C++ 足以让您入门吗?
-
请看我的回答,我相信你会发现比运算符重载更容易理解,因为你正在学习C++。如果您还有其他问题,请随时提问。
-
@LukeG,看看这个链接,例如:geeksforgeeks.org/sort-c-stl