Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

C++ Lista jednokierunkowa, zmiana głowy listy

#1
C++ Lista jednokierunkowa, zmiana głowy listy
Witam, mam problem ze zmianą kolejności w liście.
Mam przykładowo listę pięcioelementową:
1, 2, 3, 4, 5
Teraz chcę aby 3 było początkiem listy i 1, 2 powędrowało na koniec (3, 4, 5, 1, 2).
Mam wskaźnik na następny element i ten który ma być nową głową.

Myślałem o tym w ten sposób:
- w następniku 5 umieszczam obecną głowę czyli 1 ( 5-> next = head)
- aktualną głowę 1 zmieniam na 3 (head=nowyhead)
- w następniku 2 daje NULL (2->next=NULL)

Nie wiem czy źle myślę, czy coś źle zaimplementowałem, ale coś mi nie działa. Proszę kogoś o radę. Dzięki.
 System operacyjny: windows_eight Przeglądarka: chrome
#2
RE: C++ Lista jednokierunkowa, zmiana głowy listy
Witam, no nie wierzę, że do tej pory nikomu nie chciało się odpowiedzieć.
Dobrze kombinujesz - może gdzieś w kodzie masz błąd.
Kod:
#include <iostream>
using namespace std;

struct node
{
    int n;
    node *next;

    node(int n, node *next = NULL) : n(n), next(next) {}

    ~node()
    {
        if (next)
            delete next;
    }
};

int main()
{
    node *head, *n;
    head = new node(1);
    n = head;
    for (int i = 1; i < 5; i++)
    {
        n->next = new node(i + 1);
        n = n->next;
    }
    for (n = head; n != NULL; n = n->next)
        cout << n->n << ' ';
    cout << endl;
    n = head->next->next;
    n->next->next->next = head;    // teraz jest lista cykliczna :-)
    head->next->next = NULL;
    head = n;
    for (n = head; n != NULL; n = n->next)
        cout << n->n << ' ';
    cout << endl;
    delete head;
    return 0;
}
 System operacyjny: linux Przeglądarka: firefox
#3
RE: C++ Lista jednokierunkowa, zmiana głowy listy
Dzięki za pomoc, już się zdążyłem sam z tym uporać, po prostu miałem głupi błąd w kodzie Język.
 System operacyjny: windows_eight Przeglądarka: chrome
Programy: Polecane / Nowe / Inne




Podobne wątki (C++ Lista jednokierunkowa, zmiana głowy listy)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [C# WPF] Dodawanie elementów z listy do DataGrid Kamil 1 2 8184 25.05.2017, 20:03
Ostatni post: Kamil 1
  [C#] Wprowadzenie dowolnej długości listy kontaktów do programu. Ayumi 3 6121 16.02.2017, 15:52
Ostatni post: aht
  [Java] zapisywanie strony internetowej do tablicy/listy off-line 2 6828 26.09.2016, 10:54
Ostatni post: off-line

Skocz do:


Wybrane wątki (C++ Lista jednokierunkowa, zmiana głowy listy)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Środowisko do assemblera Physicist 4 6149 21.04.2019 14:04
Ostatni post: Ajgor
  VBA excel dmjs 6 6487 17.04.2019 10:20
Ostatni post: ptrick
  C++ - sens pogłębiania nauki gbr 5 6940 25.03.2019 12:53
Ostatni post: koneton
  Klasa wewnętrzna w C++ Physicist 4 6681 23.03.2019 18:28
Ostatni post: Physicist
  Ruby on Rails - tutoriale luciussulla 0 5873 23.03.2019 16:49
Ostatni post: luciussulla
Big Grin Czy dostane sie technikum informatycznego klaudiusz20046 6 8940 21.03.2019 01:28
Ostatni post: UnableToSee
  [C#] Program do moderacji czatów gier wiktrom12 0 6261 07.03.2019 15:33
Ostatni post: wiktrom12
  Mój pierwszy projekt - Pomoc rafal12999 1 6763 07.02.2019 22:01
Ostatni post: Szachista
  pomoc projekt scilab piesel18 2 8068 04.02.2019 09:03
Ostatni post: piesel18
  Szkoła Informatyczna Zikinan 1 6979 02.02.2019 17:59
Ostatni post: wojownikhaha
  [Java] Strona z zadaniami do rozwiązania i odpowiedziami rafal12999 2 7690 27.01.2019 13:44
Ostatni post: rafal12999
  kompilacja biblioteki Agui - cmake jurek2 0 7013 10.01.2019 13:12
Ostatni post: jurek2
  Zamiana całego zestawu znaków wg przyporządkowania BarHorab 5 7694 19.12.2018 16:45
Ostatni post: Szachista
  Sumowanie licz excel - problem OxyGenE 2 10478 19.12.2018 16:29
Ostatni post: Szachista
  Jaki kod pod pewne zdarzenia visualbasic 2010 aktywny27 4 8208 07.11.2018 13:41
Ostatni post: Ajgor