1172 – FListă Numărare: Difference between revisions
Cristina94 (talk | contribs) No edit summary |
|||
Line 10: | Line 10: | ||
==Cerinţa== | ==Cerinţa== | ||
Să se scrie o funcție | Să se scrie o funcție Python cu următorul prototip: | ||
int numarare(nod * p); | int numarare(nod * p); |
Latest revision as of 09:52, 9 May 2024
Enunţ[edit | edit source]
Se consideră o listă liniară simplu înlănțuită, alocată dinamic, în care elementele sunt de tipul declarat mai jos:
struct nod{ int info; nod * urm; };
în care câmpul info memorează un număr întreg, iar câmpul urm memorează adresa următorului element al listei.
Cerinţa[edit | edit source]
Să se scrie o funcție Python cu următorul prototip:
int numarare(nod * p);
care determina și returnează numărul de elemente memorate în lista pentru care primul element are adresa memorată în pointerul p.
Important[edit | edit source]
Se va rezolva în python.
Soluţia propusă va conţine definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
- 1172 FListaNumarare
class Node:
def __init__(self, info): self.info = info self.next = None
def create_linked_list(elements):
if not elements: return None head = Node(elements[0]) current = head for element in elements[1:]: current.next = Node(element) current = current.next return head
def numarare(p):
count = 0 current = p while current is not None: count += 1 current = current.next return count
- Exemplu de utilizare:
def main():
# Creăm o listă de elemente elements = [1, 2, 3, 4]
# Creăm lista liniară simplu înlănțuită p = create_linked_list(elements)
# Apelăm funcția numarare pentru a număra elementele listei result = numarare(p) print("Numărul de elemente în listă este:", result)
if __name__ == "__main__":
main()
</syntaxhighlight>