wtorek, 29 września 2009

Implementacja listy jednokierunkowej bez "->"

#include 
#include 
#include 

struct lista{
int key;
struct  lista *next;
};
struct  lista *head=NULL;
struct  lista *tmp=NULL;
struct  lista *element=NULL;

struct lista *push(struct lista *head,int x){

if(head==NULL){
head=(struct lista*)malloc(sizeof(struct lista));
tmp=(struct lista*)malloc(sizeof(struct lista));
 (*head).key=x;
(*head).next=NULL;
//head->key=x;
//head->next=NULL;
tmp=head;

}else{

element=(struct lista*)malloc(sizeof(struct lista));
(*element).key=x;
//element->key=x;
(*element).next=NULL;
//element->next=NULL;
//tmp->next=element;
(*tmp).next=element;
tmp=element;

}

return head;

}

void wyswietl(struct lista *head){

while(head){

//printf("%d",(*head).key);
printf("%d", (*head).key);
(head)=(*head).next;
}
}


int main(){
system("cls");
int x;
int n; 

printf("Ile elementow dodac \n");
scanf("%d",&n);
for(int i=0;i<(n);i++){
scanf("%d",&x);
head=push(head,x);
}

wyswietl(head);

}

Brak komentarzy:

Prześlij komentarz