السلام عليكــم ورحمـة الله وبركاتــه
هذه دوال بسيطة للتعامل مع linked list المشكلة أن الترجمة من دون مشاكل و لكن النتيجة لاشيء .
void Allouer(noued &lst)
لإنشاء عقدة
void Liberer(noued &lst)
حذف عقدة
void Suivant(noued &lst)
التأشير إلى العقدة القادمة
var Valeur(noued &lst)
إظهار قيمة عقدة
void Aff_Adr(noued &lst,noued &lst2)
ربط عقدة الحالية بالجديدة
void Aff_Val(noued &lst,var x)
إعطاء قيمة لعقدة ما
#include<stdlib.h>
#include<stdio.h>
#define var int
struct list
{
var x;
struct list *suivant;
};
typedef list *noued;
void Allouer(noued &lst)
{
lst = (list*)malloc(sizeof(*lst));
}
void Liberer(noued &lst)
{
free(lst);
}
void Suivant(noued &lst)
{
lst = lst->suivant;
}
var Valeur(noued &lst)
{
return lst->x;
}
void Aff_Adr(noued &lst,noued &lst2)
{
lst->suivant = lst2;
}
void Aff_Val(noued &lst,var x)
{
lst->x = x;
}
main()
{
noued lst,head;
head = NULL;
int x;
while(x!=0)
{
scanf("%d",&x);
Allouer(lst);
Aff_Val(lst,x);
Aff_Adr(lst,head);
head = lst;
}
while(x)
{
printf("%d\n",Valeur(lst));
lst = Suivant(lst);
}
return 0;
}