• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

zamiana elementow w liscie i dodawanie nowych elementow c++

Aruba Cloud - Virtual Private Server VPS
0 głosów
158 wizyt
pytanie zadane 25 października 2023 w C i C++ przez natalia2002. Początkujący (400 p.)
void replace_first_last(node*& H)
{
	node* p = H;
	node* q = H;
	node* r = H;
	while (q->next->next != NULL)
		q = q->next;
	r = q->next;
	if (H != NULL && H->next != NULL)
	{
		H->next = r->next;
		r->next = p->next;
		q->next = p;
		H = r;
	}
}

To moj kod mający za zadanie zamienić pierwszy element listy z ostatnim. Nie chodzi o podmianę wartości, tylko o przepisanie odpowiednich wskaźników. Mam taką listę: H->31->31->15->15->31->31->15->15->NULL, więc funkcja powinna zamienić ją na taką: H->15->31->15->15->31->31->15->31->NULL, a zamienia na H->15->NULL. Co robię źle? Przy okazji mogę prosić o jakąś podpowiedź jak stworzyć funkcję, która zamienia elementy listy w następujący sposób, że na przykład z listy H->1->3->5->NULL tworzy listę H->1->3->3->3->5->5->5->5->5->NULL ?

1 odpowiedź

+1 głos
odpowiedź 25 października 2023 przez j23 Mędrzec (195,240 p.)
edycja 25 października 2023 przez j23

O to chodzi:

void replace_first_last(node* &H)
{
    if (H == nullptr) return;

    node* p = H;
    node* q = nullptr;

    while (p->next) {
        q = p;
        p = p->next;
    }

    if(q == H) p->next = H; 
    else p->next = H->next;
    if (q) q->next = H;
    H->next = nullptr;
    H = p;
}

?

komentarz 25 października 2023 przez natalia2002. Początkujący (400 p.)

Tak, dokładnie o to dziękuję smiley

Podobne pytania

0 głosów
1 odpowiedź 5,524 wizyt
0 głosów
0 odpowiedzi 775 wizyt
0 głosów
0 odpowiedzi 151 wizyt
pytanie zadane 11 sierpnia 2018 w HTML i CSS przez Userned Nowicjusz (120 p.)

93,329 zapytań

142,323 odpowiedzi

322,397 komentarzy

62,658 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...