Javada Linkedlist
-
package list; public class ListRunner { /** * @param args */ public static void main(String[] args) { List list = new List(); list.add(new Person("Yurij", "Peregudov", 18)); list.add(new Person("Sergei", "Kritskij", 18)); list.add(new Person("Ali", "Muhamad", 18)); list.add(new Person("Shagin", "Abbasi", 20)); list.add(new Person("Maksym", "Nevdashchenko", 28)); list.remove(2); list.show(); } }
Yukardaki kodda list.remove hariç herşey normal.Neden listeye eleman ekleyebiliyorumda eleman cıkartamıyorum nasıl olacak bu?
Kodu hoca yazmıstı okulda arattığında bulmasın diye konu gizli.
-
hacı neyi remove edeceğini yazmamışsın ki
-
TeRRoR bunu yazdı
hacı neyi remove edeceğini yazmamışsın ki
2 yazıyor hocam orda ama olmuyor
-
kendi yazdığınız linkedlist galiba, hocam şimdi şöyle. 2 neye göre 2, 2'den kastın 2 indexine sahip olan Node'u mu kast ediyor?
-
TeRRoR bunu yazdı
kendi yazdığınız linkedlist galiba, hocam şimdi şöyle. 2 neye göre 2, 2'den kastın 2 indexine sahip olan Node'u mu kast ediyor?
Evet hocam biz yazdık 2 deki ali muhammed adlı elemanı silmek istiyorum mesela.
-
u235 bunu yazdıTeRRoR bunu yazdı
kendi yazdığınız linkedlist galiba, hocam şimdi şöyle. 2 neye göre 2, 2'den kastın 2 indexine sahip olan Node'u mu kast ediyor?
Evet hocam biz yazdık 2 deki ali muhammed adlı elemanı silmek istiyorum mesela.
hocam o zaman sourcecode'u pastebin'e filan atabilirsen, her hoca kafasına göre değiştiriyor birşeyleri oradan bakıp ona göre yorum yapıyım.
-
Hocam
List
Sınıfının kodlarını yayınlamamışsın ki insanlar burada remove() metodunu yorumlayabilsin?
-
DrKill bunu yazdı
Hocam
List
Sınıfının kodlarını yayınlamamışsın ki insanlar burada remove() metodunu yorumlayabilsin?
pardon hocam.Terror buraya remove eklemek lazım dedi de nasol oalcagını arıyorum simdi onun.
package edu.kpi.list; public class List { private ListElement head; public List() { head = null; } public void add(Person d) { ListElement newElement = new ListElement(d); if (head == null) head = newElement; else { ListElement currentEllement = head; while (currentEllement.getNext() != null) currentEllement = currentEllement.getNext(); currentEllement.setNext(newElement); // newElement.setNext(head); // head = newElement; } } public void show() { ListElement currentElement = head; Person data; while (currentElement != null) { data = currentElement.getData(); System.out.println(data.getName() + " " + data.getSurname() + "(" + data.getAge() + " years old)"); currentElement = currentElement.getNext(); } } }
-
bu senin yazdığın list hangi list.
normalde list in show diye metodu da yok. sen custom bişey implement etmişsin. o yüzden çalışmıyor.
projendeki tüm kodları alıp biryere upload et bakalım.
-
bu kodu baya optimize etmek lazım. ama aşağıdaki işini görür.
sadece 5 eleman var iken 7 nolu elemani remove et dersen patlar.
oraya kontrol eklemen lazım.
public void remove(int index){
if(null == head)
throw new IllegalArgumentException();
ListElement current=head;
ListElement previous=current;
if(index == 0){
head=current.getNext();
return;
}
for(int i=0;i<index;i++){
if(i == index-1)
{
previous.setNext(current.getNext());
}else{
previous=current;
current = current.getNext();
}
}
}