• 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++

HackNation - ogólnopolski hackathon
0 głosów
232 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,220 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ź 6,118 wizyt
0 głosów
0 odpowiedzi 1,105 wizyt
0 głosów
0 odpowiedzi 190 wizyt
pytanie zadane 11 sierpnia 2018 w HTML i CSS przez Userned Nowicjusz (120 p.)

93,626 zapytań

142,549 odpowiedzi

323,034 komentarzy

63,129 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 1452p. - dia-Chann
  2. 1437p. - DziarnowskiJ
  3. 1411p. - Łukasz Piwowar
  4. 1409p. - CC PL
  5. 1371p. - raydeal
  6. 1369p. - Adrian Wieprzkowicz
  7. 1335p. - robwarsz
  8. 1275p. - Maurycy W
  9. 1141p. - ssynowiec
  10. 1134p. - Tomasz Bielak
  11. 1116p. - rucin93
  12. 1100p. - Mariusz Fornal
  13. 885p. - Dominik Łempicki (kapitan)
  14. 847p. - Grzegorz Aleksander Klementowski
  15. 838p. - Wojciech Malicki
Szczegóły i pełne wyniki

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

Kursy INF.02 i INF.03
...