Funkcja dodajaca elementy

Odpowiedz Nowy wątek
2019-09-02 10:27
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
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
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


01010100 01110101 01110100 01100001 01101010 00100000 01101110 01101001 01100101 00100000 01101101 01100001 00100000 01101110 01101001 01100011 00100000 01100011 01101001 01100101 01101011 01100001 01110111 01100101 01100111 01101111 00101110 00100000 01001001 01100011 00100000 01110011 01110100 01101111 01101110 01110100 00101110
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
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).

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
Liczba odpowiedzi na stronę

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