Funkcja dodajaca elementy

Odpowiedz Nowy wątek
2019-09-02 10:27

Rejestracja: 1 rok temu

Ostatnio: 3 miesiące temu

0

Proszę o pomoc w rozwiązaniu takiego zadania

Napisz funkcje,która dodaje element o kluczu x do posortowanej malejąco niepustej listy.Lista ma nadal byc posortowana malejąco.

typedef struct el_listy 
{
           int klucz;
           struct el_listy *nast;
} LISTA *LISTAWSK
Pomoc czy napisanie za ciebie? - szweszwe 2019-09-02 10:39
Coś już Zrobiłeś? Szukałeś gdzieś rozwiązania? To ma być od zera, czy można korzystać z bibliotek? - lion137 2019-09-02 11:13

Pozostało 580 znaków

2019-09-02 10:46

Rejestracja: 9 lat temu

Ostatnio: 1 dzień temu

1

tagow nie ma

jezyk nie jest sprecyzowany

vector<int> a = { 1, 45, 54, 71, 76, 12 }; 
sort(a.begin(), a.end(), greater<int>()); 

int number;
cin >> number;

vector.push_back(number);
sort(a.begin(), a.end(), greater<int>()); 

jezeli bardzo chcesz listy to skorzystaj sobie z std::list, ale wynik bedzie ten sam

(tak wiem, ze rozwiazanie nie jest wydajne, ale robi to co jest w poleceniu)

edytowany 1x, ostatnio: fasadin, 2019-09-02 10:47

Pozostało 580 znaków

2019-09-02 11:01

Rejestracja: 4 lata temu

Ostatnio: 4 minuty temu

1
fasadin napisał(a):

tagow nie ma

jezyk nie jest sprecyzowany

vector<int> a = { 1, 45, 54, 71, 76, 12 }; 
sort(a.begin(), a.end(), greater<int>()); 

int number;
cin >> number;

vector.push_back(number);
sort(a.begin(), a.end(), greater<int>()); 

jezeli bardzo chcesz listy to skorzystaj sobie z std::list, ale wynik bedzie ten sam

(tak wiem, ze rozwiazanie nie jest wydajne, ale robi to co jest w poleceniu)

Przeciez implementacja o zlozonosci O(n)[tutaj podpowiedz dla OP] jest banalna :p aczkolwiek OP nie wniosl nic od siebie wiec sie nie dziwie ze troche zlosliwe rozwiazanie podales

edytowany 2x, ostatnio: stivens, 2019-09-02 11:05
tak wiem ze jest banalna ;) Tutaj i tak tylko jest 2n+1 takze nie jest zle :D przy takich malych liczbach i tak nie bedzie mialo to znaczenia - fasadin 2019-09-02 11:06
Wyglada mi na kampanie wrzesniowa wiec i tak by raczej nie przeszlo :D :D - stivens 2019-09-02 11:07

Pozostało 580 znaków

2019-09-02 13:49

Rejestracja: 2 lata temu

Ostatnio: 6 miesięcy temu

0

Lista jest niepusta, więc nie musisz tego rozważać.

Pseudokod:

function insert (node head, int key)
{
    allocate_node(new_node, key);

    if (head.key < key) {
        new_node.next = head;
        head = new_node; // update head
        return;
    }

    node temp = head;
    while (temp.next.key > key) {
        temp = temp.next;
    }

    new_node.next = temp.next;
    temp.next = new_node; 
}

Rozwiń o pesymistyczny przypadek w którym node musi być zaalokowany na samym końcu listy (bo wszystkie inne nody są większe).


Nie ma dwóch takich samych bigosów
edytowany 4x, ostatnio: Hodor, 2019-09-02 13:52
Nie wiem co jest z tym formatowaniem :| - Hodor 2019-09-02 13:52

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0