2014-11-10 4 views
0

Ive получил, чтобы удалить элемент из моего списка, используя метод 'RemoveItem'. Тем не менее, им немного застрял, может кто-нибудь дать мне тычок в правильном направлении: DСвязанный список удалить объект

любая помощь будет высоко оценен

главная:

class Program 
{ 
    static void Main(string[] args) 
    { 
     LinkList testList = new LinkList(); 

     testList.AddItem(5); 
     testList.AddItem(10); 
     testList.AddItem(12); 
     testList.AddItem(14); 
     testList.DisplayItems(); 
     Console.WriteLine(testlist.RemoveItem(5));/// remove the item 5 from list 

     Console.ReadKey(); 
    } 
} 

класс ссылка:

class Link 
{ 
    private int data; 
    private Link next; 

    public Link(int item) //constructor with an item 
    { 
     data = item; 
     next = null; 
    } 
    public Link(int item, Link list) //constructor with item and list 
    { 
     data = item; 
     next = list; 
    } 

    public int Data //property for data 
    { 
     set { this.data = value; } 
     get { return this.data; } 
    } 

    public Link Next //property for next 
    { 
     set { this.next = value; } 
     get { return this.next; } 
    } 

    } 
} 

linklist класс:

class LinkList 
    { 
     private Link list = null; //default value – empty list 

     public void AddItem(int item) //add item to front of list 
     { 
      list = new Link(item, list); 
     } 

     public void RemoveItem(int item)// remove chosen item from list 
     { 
      Link temp = list; 
      while (temp != null) 
      { 
       // 
      } 

     public void DisplayItems() // Displays items in list 
     { 
     Link temp = list; 
     while (temp != null) 
     { 
      Console.WriteLine(temp.Data); 
      temp = temp.Next; 
     } 

    } 
+0

'RemoveItem' не возвращает значение (' void'), но использовать его в контексте, который рассчитывает значение ('Console.WriteLine '). – crashmstr

ответ

2

Есть два способа:

  • Чтобы принять значение и удалить его
  • Просто удалите его

Сначала решите, что вам нужно.

Опишите идею словами для себя. Что значит удалить элемент?

  • находка вещь
  • Удалить элемент
  • правильные ссылки: Рассматриваемый удален пункт, должны быть связаны с пунктом после удаляемого

Пример

A->B->C->D->E 

Удалить C: найти C , установить связь между B и D, чтобы получить

A->B->D->E 

Прежде чем пытаться соединить узлы, сначала проверьте, если они есть :)

+1

И не забудьте обработать специальный случай удаления первой ссылки в списке. – juharr

+0

@juharr, правильно! хорошее дополнение :) Я исправлю это –

Смежные вопросы