Merhaba arkadaşlar Ne yaptıysam bu 2 veriyi data kullanmadan LinkedList ile değiştiremedim
Mesela Listem {1,2} olsun
burada 1 ve 2 nin yerini değiştirmek istiyorum.
Ben aşağıdaki şekilde yapıyordum hocamız data ile değişmeyi kabul etmedi.Doğrudan templer üzerinden nasıl değiştirebilirim örnek kodu yazabilirseniz çok sevinicem algoritma içerisinde bunu uygulamam gerekior tıkandım kaldım :S """"""""""""""""""" node *temp=head;
temp->data=temp->next->data; """"""""""""""""
Hocan haklı. Bağlı listede veriler değiştiril(e)mez, adresler değiştirilir. Bunları öğrenirsen yararı kendine. Yapman gereken çok basit.
node *temp = head; head = head->next; head->next = temp;
Normalde bu değişimden sonra listenin sonunu tekrar işaretlemek gerekir ama hocan o kadarını istemez heralde.
quote:
Orijinalden alıntı: elektro_gadget
Hocan haklı. Bağlı listede veriler değiştiril(e)mez, adresler değiştirilir. Bunları öğrenirsen yararı kendine. Yapman gereken çok basit.
node *temp = head; head = head->next; head->next = temp;
Normalde bu değişimden sonra listenin sonunu tekrar işaretlemek gerekir ama hocan o kadarını istemez heralde.
bu kod patlar.
1->2->3->4.. diye linkedlistin var diyelim. head 1e bakıo. head->next 2ye. senin yazdığın kodu yaparsak liste
2->1 |||| 3->4 gibisinden bişey olur devamını kaybedersin listenin. ancak 2 nodelu listte calısır o. biliyosundur zaten de konuyu açan arkadaş daha iyi anlasın diye yazıyorum.
node *temp1 = head; node *temp2 = head->next;
head->next = head->next->next; //1in devami 3 olacak head = temp2; //yeni head 2 head->next = temp1;//2nin devami 1
her zaman genel çözümü düşünmekte fayda var
tşk ederim hocam Allah razı olsun
Hayır patlamaz. Listede zaten 2 eleman var. Devamı olmadığı için düşünmeye gerek yok. Bu sadece bir ödev.
hocam ben
(1,2,3,4,5,6) soldaki listeyi birinci(2) fonksiyonla (1,2,4,5,6,3) bu hale getirmek istiorm
Birde bunun tam tersi işlemi (1,2,3,4,5,6) soldaki listeyi ikinci(2) fonksiyonla (1,2,6,3,4,5) bu hale getirmek istiorm
bi türlü kafama giremedi bu nodeleri değiştirme işlemi :( ben dataları deişerek yapıordm hoca kabul etmedi.Node ler yer değişecek diyor nasıl olucak yardım ederseniz sevinirim.