Anonymní profil TarderOrtex – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil TarderOrtex – Programujte.comAnonymní profil TarderOrtex – Programujte.com

 

Příspěvky odeslané z IP adresy 90.181.4.–

TarderOrtex
C / C++ › Spojový seznam
22. 1. 2015   #198292

#2 vitamin
jop. kód jsem psal více méně já, ale dělal jsem ho tak, jak ho po nás chtěli a ta alokace nového prvku tam právě byla :-( 

TarderOrtex
C / C++ › Spojový seznam
21. 1. 2015   #198272

Zdravím,

potřeboval by jsem poradit s jednou funkcí v c++ v jednosměrným spojovým seznamu.
Seznam jako takový je zde:

#include <iostream>
using namespace std;

typedef int data;
const data NULA = 0;

struct prvek
{
    data data;
    prvek *dalsi;
};
struct spojovy_seznam
{
    prvek *hlava, *zarazka;
};
void vytvor_seznam(spojovy_seznam *s)
{
    s->hlava = new prvek;
    s->zarazka = s->hlava;
    s->zarazka->data = NULA;
    s->zarazka->dalsi = nullptr;
}
void vloz_na_zacatek(spojovy_seznam *s, data cislo)
{
    prvek *bunka = new prvek;
    bunka->data = cislo;
    bunka->dalsi = s->hlava;
    s->hlava = bunka;
}
void vloz_na_konec(spojovy_seznam *s, data cislo)
{
    prvek *bunka = new prvek;
    bunka->dalsi = nullptr;
    bunka->data = NULA;
    s->zarazka->dalsi = bunka;
    s->zarazka->data = cislo;
    s->zarazka = bunka;
}
void vypis(spojovy_seznam *s)
{
    prvek *bunka = s->hlava;
    while (bunka != s->zarazka)
    {
        cout << bunka->data << ", ";
        bunka = bunka->dalsi;
    }
    cout << endl;
}
bool prazdny(spojovy_seznam *s)
{
    return s->hlava == s->zarazka;
}
void odstranprvni(spojovy_seznam *s)
{
    if (prazdny(s))
        return;
    else
    {
        prvek *pom = new prvek;
        pom = s->hlava;
        s->hlava = pom->dalsi;
        delete pom;

    }
}
void odstrandruhy(spojovy_seznam *s)
{
    if (prazdny(s))
        return;
    else
    {
        prvek *pom2 = new prvek;
        pom2 = s->hlava->dalsi;
        s->hlava->dalsi = pom2->dalsi->dalsi;
        delete pom2;

    }
}
void vyprazdni(spojovy_seznam *s)
{
    while (!prazdny(s))
    {
        odstranprvni(s);
    }
}
void nejvetsi_prvek(spojovy_seznam *s)
{
    while (s->hlava->dalsi != nullptr)
    {
        if (s->hlava < s->hlava->dalsi)
            odstranprvni(s);
    }

}
void najdi(int prvek)
{
    
};

int main()

{

}

Chtěl jsem vytvořit funkci najdi největší, ale k tomu jsem musel udělat funkci smaž druhý prvek, kterou prostě nějak nemůžu dát dohromady. Mohli by jste mi prosím poradit?

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý