我需要寫一個方法鏈表類:鏈表打印每n個整數方法
打印列表中的每個「第n個」節點的內容。從用戶獲得「n」,確保它是 大於0.
我該如何去做這件事?
public void nthNode (int n) {
if (n <= 0) {
System.out.println("error");
} else {
//bla
}
}
我需要寫一個方法鏈表類:鏈表打印每n個整數方法
打印列表中的每個「第n個」節點的內容。從用戶獲得「n」,確保它是 大於0.
我該如何去做這件事?
public void nthNode (int n) {
if (n <= 0) {
System.out.println("error");
} else {
//bla
}
}
迭代列表中的每個元素。如果當前項目的索引可以被n整除,則打印該元素。您可以使用模運算符(%in Java)檢查可分性(%in Java)
您的主要動機是在計數器將是n的倍數時打印節點的數據。
因此,不需要在數據上檢查mod,你需要在計數器上執行它,並使用n進行mod檢查。
使用while循環遍歷鏈表(使用curr指針)。檢查條件curr.next!= null。初始化計數爲0.迭代計數直到現在遍歷的節點數。如果(計數== N),然後打印該節點的數據並初始化計數爲0
public void nthNode (int n) {
if (n <= 0) {
System.out.println("error");
} else {
for (int i = 0; i < size(); i += n) {
//LinkedList#get(i);
}
}
}
假設你有一個節點類某種:
public void nthNode(int n){
if(n <= 0){
System.out.println("error");
} else {
Node e = new Node();
e = head;
int count = 0;
while(e != null){
if(count == n){
//do stuff
break;
}
e = e.next;
cout++;
}
}
對不起有點草率但是這就是要旨。
我第二次評論@Marlon。我們會給你一些提示,讓你朝着正確的方向前進,但是作業的重點在於學習,而不是要求一羣陌生人爲你做這項工作。 – 2012-03-20 03:24:05
即時思考做一個計數器,並做一個while循環說curr.next!= null然後以某種方式遍歷每個節點,如果數據mod n == 0,system.out.println節點的數據。 – anthony 2012-03-20 03:36:02