如何找到双向链表的max元素?

时间:2019-10-19 12:20:54

标签: c++ binary-tree doubly-linked-list

从双向列表中的文件读取数据后,我必须确定此数据的最大值。这个主题对我来说是新的,所以我需要一些帮助。这就是我所拥有的:

struct node {
  int info;
  node *next, *back;
};
node *cap = NULL;
node *first, *last, *c, *q;

2 个答案:

答案 0 :(得分:1)

遍历列表并像这样存储最大值:

@Override
public String toString() {
    StringBuilder sb = new StringBuilder();
    int temp = frontIndex;
    sb.append("queue: ( ");
    if(queue.length == 0) {
        sb.append("empty queue");
    }
    while(queue[temp]!=null) {
        sb.append(queue[temp].toString());
        sb.append("--->");
        temp++;
    }
    sb.append(")");
    return sb.toString();
}

假设元素node *max = first; while (first) { if (max->info < first->info) max = first; first = first->next; } 是最后一个元素时为空指针。

答案 1 :(得分:-1)

* c和* q分别代表什么?

此外,如果您已经可以遍历列表,只需创建一个最大节点并在遍历时对其进行更新