/**
* @author by zhouwx5
* @created on by 2019/11/19
* @desc:
*/public class linkednode
private void linklist(t element)
private int length()
/*** 獲取給定索引的值
* @param index 給定索引
* @return 返回值
*/private t get(int index)
/*** 獲取當前節點
* @param index 索引
* @return index所代表的節點
*/private node getnodeindex(int index)
node currend =header;
for (int i =0;i}
return null;
}/**
* 給定值,尋找位置
* @param element 值
* @return 返回位置
*/private int getsize(t element)
}return -1;
}/**
* 新增乙個新節點
* @param element 給定值
*/private void add(t element)else
size++;
}private void addatheard(t element)
/*** 插入節點
* @param element 給定值
* @param index 插入位置
*/private void insert(t element,int index)elseelse}}
/*** 刪除鍊錶
* @param index 索引
* @return 被刪除的值
*/private t delete(int index)else
size--;
return (t) del.getdate();
}/**
* 單鏈表反轉,遞迴法
* @param head 頭節點
* @return 新鍊錶
*/private node reverseiteratively(node head)
node temp =head.getnext();
node newnode =reverseiteratively(head.getnext());
temp.setnext(head);
head.setnext(null);
return newnode;
}}
單鏈表反轉 遞迴實現 GO語言
鍊錶是一種比較常見的資料結構 單鏈表的反轉用遞迴實現比較簡單,這裡簡單講一下。首先定義節點 type node struct下面是反轉遞迴函式,煉表頭比較重要,控制煉表頭不做修改 func reverselist node node node else 舉個例子 鍊錶 1 2 3 4 5 6 nil...
單鏈表反轉(遞迴和非遞迴)
單鏈表反轉有遞迴和非遞迴兩種演算法。下面定義節點 cpp view plain copy typedef struct listnodelistnode 在遞迴演算法中的做法是 1找到最後乙個節點和倒數第二個節點,把最後乙個節點設為頭節點的後繼 2反轉這兩個節點 3倒數第三個和第四個節點重複執行步驟...
單鏈表反轉(遞迴和非遞迴)
單鏈表反轉有遞迴和非遞迴兩種演算法。下面定義節點 typedef struct listnodelistnode 在遞迴演算法中的做法是 1找到最後乙個節點和倒數第二個節點,把最後乙個節點設為頭節點的後繼 2反轉這兩個節點 3倒數第三個和第四個節點重複執行步驟2 其中注意,鍊錶是以節點後繼為null...