Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


LISTE

c



+ Font mai mare | - Font mai mic



LISTE

Liste cu cursor (reprezentare cu variabile statice)

1.1 Operatii fundamentale

/* Declaratii */



typedef int INFO;

typedef int NODEPTR, LISTA, POZITIE, BOOL;

typedef struct nod NOD;

#ifndef GLOBAL

extern NOD *cursor_space;

#else

NOD *cursor_space;

#endif

void error(const char *s);

void init_cursor_space(int dim);

POZITIE cursor_alloc(void);

void cursor_free(const POZITIE p);

LISTA create_empty_list(INFO header);

LISTA create_list(INFO header);

BOOL is_empty(const LISTA l);

BOOL is_last(const POZITIE p);

POZITIE find(INFO x, LISTA l);

POZITIE find_pred(INFO x, LISTA l);

void insert_after(INFO x, POZITIE p);

void delete(INFO x, LISTA l);

void add_beg(INFO x, LISTA l);

void print_list(LISTA l);

Figura L1 Listst.h

Implementare */

#include <stdio.h>

#include <alloc.h>

#include <string.h>

#include <stdlib.h>

#include 'listst.h'

void error(const char *s)

void init_cursor_space(int dim)

POZITIE cursor_alloc(void)

void cursor_free(const POZITIE p)

BOOL is_empty(const LISTA l)

BOOL is_last(const POZITIE p)

POZITIE find(INFO x, LISTA l)

POZITIE find_pred(INFO x, LISTA l)

return p;

void insert_after(INFO x, POZITIE p)

void delete(INFO x, LISTA l)

void del_list(LISTA l)

void add_beg(INFO x, LISTA l)

void print_list(LISTA l)

printf('NULLnn');

LISTA create_empty_list(INFO header)

LISTA create_list(INFO header)

if((k=sscanf(s,'%d',&val))!=1) printf('Reintroduceti ultima valoare: ');

} while(k!=1);

add_beg(val, l);

}

Figura L2 Listst.c

1.2 Aplicatie - Operatii cu multimi

Declaratii */

LISTA create_mult(INFO header);

LISTA reuniune(LISTA, LISTA, INFO);

LISTA intersectie(LISTA, LISTA, INFO);

LISTA diferenta(LISTA, LISTA, INFO);

Figura L3 Multsttda.h

Implementare */

#include <stdio.h>

#include <string.h>

#include 'listst.h'

LISTA create_mult(INFO header)

if((k=sscanf(s,'%d',&val))!=1) printf('Reintroduceti ultima valoare: ');

} while(k!=1);

if(find(val,l)==NULL)

add_beg(val, l);

}

LISTA reuniune(LISTA l1, LISTA l2, INFO header_result)

l2=cursor_space[l2].urm;

while(l2!=0)

return l;

LISTA intersectie(LISTA l1, LISTA l2, INFO header_result)

LISTA diferenta(LISTA l1, LISTA l2, INFO header_result)

Figura L4 Multsttda.c

Utilizare */

#define GLOBAL

#include 'listst.h'

#include 'multsttd.h'

#undef GLOBAL

#define DIM 50

void main()

Figura L5 MultstAplic.c

Liste simplu inlantuite reprezentare cu variabile dinamice

/* Declaratii */

typedef int INFO;



typedef struct elem ELEMENT, *LEG, *LISTA;

void eroare(const char *s);

LEG elem_alloc(INFO x, LEG p);

void print_elem(INFO x);

void print_list(LISTA l);

void afis_list(LISTA l,char *h);

void parcurger(LISTA l, void (*prel)(INFO));

void parcurgei(LISTA l, void (*prel)(INFO));

void parc_inv(LISTA l, void (*prel)(INFO));

void print_list1(LISTA l);

int comp(INFO x, INFO y);

LEG findi(LISTA l, INFO x);

LEG findr(LISTA l, INFO x);

void ins_after(LEG p, LEG q);

void ins_before(LEG p, LEG q);

void del_after(LEG p);

LISTA add_beg(LISTA l, INFO x);

LISTA insert_n(LISTA l, INFO x, int n);

LISTA delete_n(LISTA l, int n);

LISTA delete_elem(LISTA l, INFO x);

LISTA del_list(LISTA);

LISTA create_list(char *h);

LISTA inv_list1(LISTA l);

LISTA inv_list2(LISTA l);

LISTA copy_list(LISTA l);

Figura L6 Listdin.h

Implementare */

#include <alloc.h>

#include <stdio.h>

typedef int INFO;

typedef struct elem ELEMENT, *LEG, *LISTA;

void eroare(const char *s)

LEG elem_alloc(INFO x, LEG p)

void print_elem(INFO x)

void print_list(LISTA l)

/* varianta recursiva */

void afis_list(LISTA l, char *s)

void parcurger(LISTA l, void (*prel)(INFO))

void parcurgei(LISTA l, void (*prel)(INFO))

void print_list1(LISTA l)

void parc_inv(LISTA l, void (*prel)(INFO))

int comp(INFO x, INFO y)

LEG findi(LISTA l, INFO x)

LEG find_pred_i(LISTA l, INFO x)

LEG findr(LISTA l, INFO x)

void ins_after(LEG p, LEG q)

void ins_before(LEG p, LEG q)

void del_after(LEG p)

LISTA add_beg(LISTA l, INFO x)

LISTA insert_n(LISTA l, INFO x, int n)

LISTA delete_n(LISTA l, int n)

for(p=q=l; --n && p->urm!=NULL; p=p->urm)

q=p;

if(n==0)

return l;

LISTA delete_elem(LISTA l, INFO x)

if(p!=NULL)

return l;

}

LISTA del_list(LISTA l)

return NULL;

LISTA create_list(char *h)

if((k=sscanf(s,'%d',&val))!=1) printf('Reintroduceti ultima valoare: ');

} while(k!=1);

l=add_beg(l, val);

}

LISTA inv_list2(LISTA l)

return p;

LISTA p;

void adaug(INFO x)

LISTA inv_list1(LISTA l)

LISTA copy_list(LISTA l)

Figura L7 Listdin.c





Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 679
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved