רשימה מקושרת linked lists
DESCRIPTION
רשימה מקושרת Linked Lists. דוגמא. STRING איך עושים Dim x as String בלי לדעת מראש את הגודל!. A. C. B. A. Linked Lists. A linked list is a series of connected nodes Each node contains at least A piece of data (any type) Pointer to the next node in the list - PowerPoint PPT PresentationTRANSCRIPT
רשימה מקושרתLinked Lists
דוגמא
•STRING בלי לדעת מראש Dim x as Stringאיך עושים •
את הגודל!
Linked Lists
• A linked list is a series of connected nodes• Each node contains at least
– A piece of data (any type)– Pointer to the next node in the list
• Head: pointer to the first node• The last node points to NULL
A
Head
B C
A
data pointer
node
www.cs.ust.hk/~qyang/171/linked-list.ppt
?על מה בנוי רשימה מקושרת
(LINK או NODEקדקוד )•המידע ששומרים )או אוסף המידע(–קישור לקדקוד הבא )מידי פעם גם לקדקוד הקודם(–
(LINKED LISTמחלקה לניהול הקדקודים )•(CONSTRUCTORפונקציית בנאי )–שמירת מקום של הקודקוד הראשון–, וכו'(PRINT, ADD, DELETEפונקציית עזר )–
LINKדוגמא של
Public Class Link Private m_MyData As String Private m_NextLink As Link Public Sub New(ByVal myParent As Link, ByVal theData As String) m_MyData = theData myParent.m_NextLink = Me End Sub Public Sub New(ByVal theData As String) m_MyData = theData End Sub Function MyData() As String Return m_MyData End Function Function NextLink() As Link Return m_NextLink End FunctionEnd Class
LINKEDLISTדוגמא של Public Class LinkedList Private m_CurrentLink As Link Private m_FirstLink As Link Private Size As Integer Public Sub New(ByVal theData As String) m_CurrentLink = New Link(theData) m_FirstLink = m_CurrentLink Size = 1 End Sub Public Function MakeLink(ByVal currentLink As Link, ByVal theData As String) As Link m_CurrentLink = New Link(currentLink, theData) Size = Size + 1 Return m_CurrentLink End Function Function GetNextLink(ByVal aLink As Link) As Link Return aLink.NextLink() End Function Function GetCurrentLink() As Link Return m_CurrentLink End Function Function GetFirstLink() As Link Return m_FirstLink End Function Public Sub PrintAll() Dim i As Integer Dim temp As Link = m_FirstLink For i = 0 To Size - 1 Console.WriteLine("Contents of Place " & i & " is :") Console.WriteLine(temp.MyData) temp = temp.NextLink Next End SubEnd Class
(MAINשימוש במחלקה )
Module Module1 Sub Main() Dim List As New LinkedList("Avi") Dim aLink As Link = List.GetCurrentLink aLink = List.MakeLink(aLink, "Bob") aLink = List.MakeLink(aLink, "Chaim") List.PrintAll() End SubEnd Module
???שיפורים להדפיס טווח של קדקודים•
להדפיס את הרשימה בסדר יורד•
חיפוש אחרי מידע )ולהחזיר את התא או התאים שבו הוא נמצא•
להכניס כמה סוגי מידעNODE שינוי של ה•
איך????????????•