你好,我不知道是否有C++中的命令,我可以直接使用在鏈表跳轉到第5的節點?我知道:p->接下來,我可以嘗試去下一個節點,但是如果我想要去第56個正確的awat,那有什麼辦法呢?像p-> next(56)什麼的?由於嘗試直接在鏈表跳轉到一個節點
2
A
回答
3
如果鏈表沒有像P-> GET(56年)建,那麼你必須寫自己的功能,它使用一個for循環的命令。它需要你想要的元素的列表和編號,然後再次調用該次數。
2
有沒有這樣的「命令」。鏈表的一個特點是按位置定位特定節點的速度較慢。除非你已經存儲了一個指向該節點的指針。
如果這是一個問題,那麼一個鏈表是不是你的目的正確的數據結構。
0
C++不提供,你可以在該級別訪問鏈接列表類型。它確實有std :: list <>,它提供了封裝。你不能直接索引到一個鏈表中,雖然你可以從第一個(或其他已經找到的)元素前進56個步驟,但是每個節點都必須被遍歷並且效率相對較低。如果你需要更好的表現,你應該重新考慮你對容器的選擇:或許一個矢量或者地圖會更合適。
0
這是鏈表的性質。你必須一直遍歷第n個元素。
1
至少如果您有類別InputIterator的迭代器(std::list
屬於此類別的迭代器),則可以使用std::advance
。例如,如果你想從列表開頭獲取迭代器指向第五元素:
std::list<int> l;
// ...
std::list<int>::iterator it = l.begin();
std::advance(it, 4);
// Now it points to the fifth element
但正如已經提到的其他人:不應該鏈表有隨機訪問。你總是需要通過它才能獲得某個條目。因此std::advance
將執行非常差的大列表。
相關問題
- 1. 嘗試對鏈表進行排序時跳過的節點
- 2. 匹配有直接鏈接到所有節點在一組
- 3. 跳轉鏈接,如何跳轉到頁面上的下一個可用錨點?
- 4. 嘗試從鏈接列表中刪除節點時出現NullPointerException?
- 5. 嘗試插入節點導致無限鏈接列表
- 6. 的Ehcache節點中的一個錯誤嘗試連接到127.0.0.1
- 7. Django直接跳轉到div
- 8. 嘗試將鏈接列表轉換爲循環鏈接列表
- 9. Drupal直接鏈接在節點中添加節點
- 10. 鏈接沒有跳轉到
- 11. 在要刪除的節點之後嘗試將節點鏈接到節點時出錯
- 12. 通過將最後一個節點指向中間節點將單鏈錶鏈接轉換爲循環鏈表
- 13. 添加一個節點到鏈表
- 14. 添加一個節點到鏈表頭
- 15. 鏈接節點在一起
- 16. 扭轉鏈接的節點
- 17. LinkedList「節點跳轉」
- 18. HTML鏈接和Jquery Live僅在第一次嘗試時嘗試點擊一下
- 19. 我試圖寫一個平滑滾動導航鏈接的腳本,但它只是直接跳轉到錨
- 20. 鏈接列表:將節點從一個列表移動到另一個列表
- 21. Windows 7任務欄 - 跳轉列表,跳轉列表鏈接和跳轉列表
- 22. JQuery的:當用戶點擊一個鏈接,先提交一個表單,則跳轉鏈接
- 23. 單鏈表C++:頭指針不連接到下一個節點
- 24. 鏈接列表 - 移動到下一個節點
- 25. datastax羣集嘗試連接一個死節點
- 26. 鏈接列表節點鏈接問題
- 27. 鏈接到另一個XML節點在同一文檔
- 28. Akka.net燈塔一直試圖連接到失敗節點
- 29. 插入節點到鏈接列表
- 30. 節點不附加到鏈接列表
好的,謝謝大家的答案:) – user478984 2011-02-16 06:57:14