Listy jednokierunkowe - jak zrozumieć ?

2015-02-04 21:47
0

Czytam już coś koło 3h o listach jednokierunkowych i nadal nie wiele umiem. Znacie może stronę gdzie jest to dość jasno wytłumaczone ? Chodzi o język C.

Pozostało 580 znaków

2015-02-04 22:33
0

Czego nie rozumiesz?

Nie znasz struktur w c, nie wiesz jak używać malloc czy samej idei nie rozumiesz?

edytowany 1x, ostatnio: Schadoow, 2015-02-04 22:35

Pozostało 580 znaków

2015-02-04 22:41
0

idee rozumiem, struktury w miarę możliwości znam. Jednak nie umiem napisać tej listy.

A masz już coś? - Proxima 2015-02-04 22:46

Pozostało 580 znaków

2015-02-04 22:59
0

@nowicjusz35 - zasada jest taka sama, bez względu na język (no chyba że język nie wspiera wskaźników); Najpierw musisz zrozumieć jak taka lista wygląda i jak działa, aby wiedzieć jak się do niej dobrać; Następnie uczysz się z kursów używania struktur i wskaźników; Jak już będziesz to umiał, to zaimplementowanie prostej listy to formalność - wystarczy rozpisać problem i po kolei pisać kolejne funkcje;

Napisz więc dokładnie czego nie rozumiesz lub czego nie umiesz oprogramować, a coś się doradzi; Przy czym nie zapomnij sam czegoś zrobić i pokazać w poście jakiś kod.


Biorąc pod uwagę że wskaźnik to tylko nr bajtu w pamięci to nawet wskaźniki nie są potrzebne. http://www.brokendust.com/Articles/ArrayBasedLinkedList.htm - vpiotr 2015-02-06 10:02
Można i tak, jednak jakoś wolę wskaźniki; - furious programming 2015-02-06 22:36

Pozostało 580 znaków

2015-02-04 23:02
0

http://edu.i-lo.tarnow.pl/inf/alg/001_search/0086.php

Masz tam wszystko co ci potrzebne.
Jak wiesz jak mniej więcej wyglądają struktury to szybko ogarniesz i napiszesz to w c.
A jak nie rozumiesz czegoś to zadaj konkretne pytanie.

Pozostało 580 znaków

2015-02-04 23:13
ne0
0

Jeżeli do tej pory jeszcze nie wiesz czego tak naprawdę nie rozumiesz, to obstawiam że po prostu nie rozumiesz idei właśnie. Bo jakbyś kodu nie rozumiał to byś podał np. że nie rozumiesz wskaźników albo nie rozumiesz struktur.


Pomogłem? To dobrze :)

Pozostało 580 znaków

2015-02-05 00:09
0

Wydaję mi się, że rozumiem. Tworzę strukturę,a w niej wskaźnik do następnego elementu oraz jakąś zmienna do zapisu danych.

I teraz nie wiem jak się poruszać po tej liście. Bo jeśli mam np. struct typedef Nazwa , to żeby stworzyć drugi element listy to trzeba wpisać taki kod np.
Nazwa *wsk
wsk->i nie wiem na co

Pozostało 580 znaków

2015-02-05 00:13

@nowicjusz35 - tworzenie listy to nic innego jak tworzenie kolejnych węzłów (alokowanie dla nich pamięci), uzupełnianie w dane oraz wpisanie wskaźnika na nowy węzeł w odpowiednie pole z poprzedniego węzła listy;

Jeśli nowy węzeł dodajesz na końcu listy, to wystarczy stworzyć nowy węzeł, w poprzednim węźle ustawić wskaźnik na nowy węzeł, a w tym nowym węźle ustawić wskaźnik na kolejny węzeł na null, bo kolejnego nie ma; Wstawianie nowego węzła oznacza dodatkowo ustawienie wskaźnika na kolejny węzeł w nowo utworzonym węźle;

Masło maślane, ale ideę powinieneś łyknąć; Spróbuj coś napisać a zobaczysz, że nie taki diabeł straszny.


zaraz będę coś próbować. - nowicjusz35 2015-02-05 16:24

Pozostało 580 znaków

2015-02-05 19:12
0

Jak do takiego czegoś stworzyć nowy element ?

#include <stdio.h>
#include <stdlib.h>

typedef struct Zeszyt
{
    int wartosc;
    int *nastepny;
}pierwszy;

Zeszyt *NowyWezel;

Coś w tym stylu: ?

Zeszyt *NowyWezel
{
    int *wskaznik;
    wskaznik = &pierwszy;
    wskaznik->wartosc = 4;
    nastepny = wskaznik;
}
edytowany 2x, ostatnio: nowicjusz35, 2015-02-05 19:17

Pozostało 580 znaków

2015-02-05 19:48
0

pomoże ktoś napisać prostą liste składającą się np.z dwóch elementów ? Bo nic mi nie wychodzi.

Pozostało 580 znaków

2015-02-05 19:50
0

Na temat różnych lista masz pełno materiałów w internecie. Chociażby pierwszy lepszy wynik z googli: http://staff.iiar.pwr.wroc.pl[...]ejko/elearning/Wyk3_listy.pdf

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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