單鏈表相關操作練習題

2021-10-02 17:14:12 字數 2007 閱讀 7126

鍊錶結點結構如下**:

class node 

@override

public string tostring()

public node next;

}

計算鍊錶的長度。

列印出煉表中倒數第k個結點內容。

把鍊錶倒轉或者逆序。

鍊錶倒序列印但不改變鍊錶的結構

按照鍊錶中的資料大小順序合併兩個鍊錶

public class ******linkedlistexercises 

//1. 計算鍊錶的長度。

public static int getlength(node node)

return len;

}// 2. 列印出煉表中倒數第k個結點內容。

public static void reciprocal(node node, int k)

int len = getlength(node);// 取鍊錶長度

if (k > len || k <= 0)

int count = 1, num = len - k + 1;// 倒數k個就是正數len-k+1 個

node curnode = node;

while (curnode != null)

curnode = curnode.next;

count++;

} }public static void showlist(node node)

system.out.println(temp);

temp = temp.next;

} }//3. 把鍊錶倒轉或者逆序。

/** 鍊錶反轉 方法1思想:遍歷原來的鍊錶 然後採用頭插法的方式將每次遍歷出 的鍊錶新建結點插入新的鍊錶中

*/ public static node reverse1(node node)

node curnode = node, head = null;//使用頭節點

while (curnode != null) else

curnode = curnode.next;

} return head;

} /** 鍊錶反轉 方法1思想:遍歷原來的鍊錶 然後採用頭插法的方式將每次遍歷出 的鍊錶插入新的鍊錶中

*/ // 鍊錶反轉 方法2

public static node reverse2(node node)

node curnode = node, head = new node(0);

node next = null;

while (curnode != null)

return head.next;

}// 4. 鍊錶倒序列印但不改變鍊錶的結構(採用壓棧的方式)

public static void inversionshow(node node)

nodestack.add(temp);//壓棧

k++;

temp = temp.next;

} while (!nodestack.isempty())

} //5. 按照鍊錶中的資料大小順序合併兩個鍊錶

public static node mergenodes(node node1, node node2)

node tempnode = null, temp1 = node1, temp2 = node2;//tempnode 為中間變數值

node head = null, tail = null;//採用尾插法

while (true) else if (temp1 == null && temp2 != null) else if (temp1 != null && temp2 == null) else else if (temp1.num < temp2.num) else

}if (head == null) else

} return head;

}}

單鏈表相關習題

設定乙個臨時變數來當作計數器。然後對整個鍊錶進行遍歷來數出有效節點的個數。public intgetlength length temp temp.next return length 也可以直接使用whil來判斷進行條件。public intgetlength return length 解決這個...

單鏈表練習題

題目一 假設有兩個按元素值遞增有序排列的線性表 a 和 b,均以單鏈表作儲存結構,請編寫演算法將 a 表和 b 表歸併成乙個按元素值遞減有序 即非遞增有序,允許表中含有值相同的元素 排列的線性表 c,並要求利用原表 即 a 表和 b 表 的結點空間構造 c 表。演算法 誰的值小誰就先插入鍊錶c中,插...

單鏈表相關操作

這是自己寫的最長的一次 了 在機房敲了一天。以前一直用list來水鍊錶的題 這次終於體會到痛苦了 include include include include include include using namespace std typedef struct node 單鏈表 s,list vo...