Presentation is loading. Please wait.

Presentation is loading. Please wait.

רשימה מקושרת Linked Lists. דוגמא STRING איך עושים Dim x as String בלי לדעת מראש את הגודל !

Similar presentations


Presentation on theme: "רשימה מקושרת Linked Lists. דוגמא STRING איך עושים Dim x as String בלי לדעת מראש את הגודל !"— Presentation transcript:

1 רשימה מקושרת Linked Lists

2 דוגמא STRING איך עושים Dim x as String בלי לדעת מראש את הגודל !

3 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 BCA datapointer node www.cs.ust.hk/~qyang/171/linked-list.ppt

4 על מה בנוי רשימה מקושרת ? קדקוד (NODE או LINK) –המידע ששומרים ( או אוסף המידע ) –קישור לקדקוד הבא ( מידי פעם גם לקדקוד הקודם ) מחלקה לניהול הקדקודים (LINKED LIST) –פונקציית בנאי (CONSTRUCTOR) –שמירת מקום של הקודקוד הראשון –פונקציית עזר (PRINT, ADD, DELETE, וכו ')

5 דוגמא של 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 Function End Class

6 דוגמא של 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 Sub End Class

7 שימוש במחלקה (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 Sub End Module

8 שיפורים ??? להדפיס טווח של קדקודים להדפיס את הרשימה בסדר יורד חיפוש אחרי מידע (ולהחזיר את התא או התאים שבו הוא נמצא שינוי של הNODE להכניס כמה סוגי מידע איך????????????


Download ppt "רשימה מקושרת Linked Lists. דוגמא STRING איך עושים Dim x as String בלי לדעת מראש את הגודל !"

Similar presentations


Ads by Google