如何对链表的所有节点中的特定整数变量求和



我在两个链表中有Customer对象,队列和服务。每个都有派对规模的变量。服务队列具有随机分配的等待时间。我需要一个函数来求和并返回队列中的客户数量。我认为这意味着对等待列表LinkedList中每个Customer对象中表示参与方大小的整数求和。

我需要一个函数来求和并返回所服务的客户总数。这可能意味着对所服务的Customer对象的LinkedList中的每个Customer对象中指示参与方大小的整数求和。

我不知道下面哪个链接适合我的情况(什么时候使用哪个(。尽管如此,我还是尝试过,但都未能成功实施。

对于循环:计算链表中的所有节点

通过迭代和递归:https://www.geeksforgeeks.org/find-length-of-a-linked-list-iterative-and-recursive/

/*Returns count of nodes in linked list */
public int count(){
int count=0;
for(Customer n = ???; n != null; n = n.next){count++;}
return count;
}
//        /* Returns count of nodes in linked list */
//        public int getLineSize(Customer cust) 
//        { 
//            // Base case 
//            if (cust == null) 
//                return 0; 
//            // Count is this customer plus rest of the list 
//            return 1 + getLineSize(cust.next); 
//        } 
//         
//        /* Wrapper over getLineSize() */
//        public int getCount() 
//        { 
//            return getLineSize(); 
//        }

我没有得到任何结果,因为我无法生成合理的、没有语法错误的代码。运行时错误将是进度。

LinkedLists中的Customer对象有一个先前定义的getWait()getParty()方法,用于获取对象的随机分配等待时间和Party变量大小的值。

函数必须采用链表。

使用LinkedList类的getFirst方法获取LinkedList中的第一个元素。

你用一个累加器变量来求和。

使用n != null;n = n.next作为停止条件,并在for循环中进行迭代。

你从Customer n = (Customer) ll.getFirst()开始。它只是使用n更短,并且需要显式强制转换。也许是因为函数不知道您的两个链接列表都有Customer类型的元素。

返回链接列表中的等待总数:

public int sumWait(LinkedList ll){
int sumWait = 0;
for(Customer n = (Customer) ll.getFirst(); n != null; n = n.next){
sumWait = sumWait + n.getWait();
}
return sumWait;
}

返回链接列表中各方的总和

public int sumCust(LinkedList ll){
int sumCust = 0;
for(Customer n = (Customer) ll.getFirst(); n != null; n = n.next){
sumCust = sumCust + n.getParty();
}
return sumCust;
}

相关内容

  • 没有找到相关文章

最新更新