C++链表-按排序顺序打印

C++ Linked List - Print in sorted order

本文关键字:顺序 打印 排序 链表 C++      更新时间:2023-10-16

我在C++中制作了一个包含汽车对象的链表。汽车对象有几个不同的属性,但在本例中,我们将重点关注每加仑英里数(MPG)属性。这个属性是一个int,有些车有相同的MPG。

有没有一种方法可以让我按照MPG的递增顺序打印出这些项目,而无需对链表进行实际排序,即在整个列表中迭代n次,其中n=链表的大小,在列表的每次迭代中向用户输出一个汽车对象。

如果我的问题格式不正确,我提前道歉,我是新来的。

是的,有一种方法可以做到这一点。

  1. 使一个假值数组等于列表的大小
  2. 获取类型为car的新对象,并为其指定链表中的第一个值
  3. 反复查看列表,试图找到一辆MPG较低的汽车。如果找到,请用这个替换它
  4. 在每次迭代结束时,打印这个元素,并将false数组中的相应值标记为true,这样就不会再使用它了

示例:

CAR    1 -> 2 -> 3 -> 4 -> 5-> NULL 
MPG    15   25   10   41   21
arr    F    F    F    F    F

每次迭代后,一个接一个的arr值将变为真(即您已经打印了它们)