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

Tworzenie uporządkowanej listy cyklicznej

Cloud VPS
0 głosów
89 wizyt
pytanie zadane 6 stycznia 2018 w C i C++ przez k222 Nałogowiec (30,150 p.)

Cześć, piszę funkcję która ma daną jako argument liczbę naturalną x i ma za zadanie stworzyć x-elementowy cykl o wartościach ustawionych rosnąco i zwrócić wskaźnik na najmniejszy element w tym cyklu.

Zrobiłem to tak że stworzyłem po prostu listę x-elementową z wartownikiem, do niej dodawałem w odpowiednich miejscach elementy i potem ją "zawinąłem" - wskaźnik z ostatniego elementu ustawiłem na pierwszy - działało.

Jednak teraz próbuję to zrobić nieco inaczej - od początku mieć cykl do którego będę dodawał elementy w odpowiednich miejscach - jednak mój program nie działa, jakby ktoś mógł spojrzeć to byłbym wdzięczny.

 

struct node
{
    int w;
    node *next;
};


node * create_cycle(int x)
{
    srand( time( NULL ) );

    node *first = new node;       // tworzenie cyklu 1-elementowego
    first->w = rand() % 10;
    first->next = first;

    
    node *new_n;                  // wskazywany element bedziemy dodawac
    node *tmp;                    // ma znaleźć miejsce gdzie mamy dodać element aby cykl pozostał rosnący


    for(int i = 1; i < x; i++)
    {
        tmp = first;

        new_n = new node;
        new_n->w = rand() % 10;

        while(tmp->next != first)
        {
            if(new_n->w  <  tmp->next->w) break;  // jeżeli tmp->w < new_n->w < tmp->next->w
            tmp = tmp->next;
        }

        new_n->next = tmp->next->next;     //wstawiannie new_n
        tmp->next = new_n;

    }


    return first;
}

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 128 wizyt
pytanie zadane 23 stycznia 2024 w Matematyka, fizyka, logika przez HUBSON2912 Obywatel (1,480 p.)
+1 głos
1 odpowiedź 348 wizyt
pytanie zadane 25 maja 2021 w Python przez Oskar Szkurłat Bywalec (2,780 p.)
0 głosów
1 odpowiedź 186 wizyt
pytanie zadane 16 listopada 2017 w Assembler przez asgaard Obywatel (1,340 p.)

93,460 zapytań

142,454 odpowiedzi

322,724 komentarzy

62,837 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

Kursy INF.02 i INF.03
...