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

时间:2016-04-05 10:21:45

标签: c++ printing linked-list

我在包含汽车对象的C ++中创建了一个链表。汽车对象具有一些不同的属性,但是,对于此示例,我们将关注每加仑英里数(MPG)属性。 这个属性是一个int,有些汽车有相同的MPG。

有没有办法让我按照MPG的递增顺序打印这些项目,而不实际排序链表,即遍历整个列表n次,其中n =链表的大小,输出汽车对象列表的每次迭代都会给用户。

如果我的问题格式不正确,我会事先道歉,我是新来的。

1 个答案:

答案 0 :(得分:0)

是的,有办法做到这一点。

  1. 创建一个等于列表大小的false值数组。
  2. 获取car类型的新对象,并为其指定链接列表中的第一个值。
  3. 在列表中迭代试图找到MPG较低的汽车。如果发现用这个替换它。
  4. 在每次迭代结束时,打印此元素并将false数组中的相应值标记为true,以便您不再使用它。
  5. 示例:

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

    每次迭代后,arr值将逐渐变为真(即您已经打印过它们。)