#include#include struct listacykl { int key; struct listacykl *next,*prev; }*head=NULL,*element=NULL,*temp=NULL; void dodaj(struct listacykl *&head,int x){ { if(head==NULL) { head=(struct listacykl*)malloc(sizeof(struct listacykl)); head->key=x; head->next=head; head->prev=head; } else{ if(element==NULL) { element=(struct listacykl*)malloc(sizeof(struct listacykl)); element->key=x; head->next=element; element->prev=head; element->next=head; head->prev=element; temp=element; } else{ element=(struct listacykl*)malloc(sizeof(struct listacykl)); element->key=x; temp->next=element; element->prev=temp; element->next=head; head->prev=element; temp=element; } } } } void show(struct listacykl *head) { struct listacykl *glowa; glowa=head; printf("%d ",head->key); head=head->next; while(head!=glowa){ printf("%d ",head->key); head=head->next; } } int main(){ int i,x,n; printf("\n------------Lista dwukierunkowa cykliczna------------\n\n\n"); printf("Ile elementow ma zawierac lista n= "); scanf("%d",&n); printf("Podawaj elementy \n"); for(i=1;i<=n;i++) { printf("element nr. %d = ",i); scanf("%d",&x); dodaj(head,x); } printf("\n------------------------\n"); show(head); printf("\n------------------------\n"); printf("\n\n"); system("PAUSE"); }
Implementacje algorytmów, struktur danych w języku C/C++. Drzewa binarne,listy jednokierunkowe,dwukierunkowe,tablice dynamiczne, wskaźniki.
wtorek, 22 września 2009
Implementacja listy dwukierunkowej cyklicznej C
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz