You are on page 1of 4

Deklarimi i nje liste njedrejtimore

struct liste
{
int vlera;
struct liste *pas;
};

Te shkruhet nje funksion qe krijon nje liste lineare njedrejtimore

struct liste* create_liste()


{
struct liste* t;
t=(struct liste*)malloc(sizeof(struct liste));
return(t);
}

Te shkruhet nje funksion qe gjen gjatesine e nje liste lineare njedrejtimore

int gjatesi_liste (struct liste *list)


{
int n=0;
while(list!=NULL)
{
list=list->pas;
n++;
}
return(n);
}

Te shkruhet nje funksion shton nje element te ri ne fund te listes

struct liste * ins_end(struct liste * list,int item)


{
struct liste *temp,*ptr;
temp=create_liste();
temp->vlera=item;
temp->pas=NULL;
if(list==NULL)
{
list = temp;
return list;
}
ptr=list;
while(ptr->pas!=NULL)
{
ptr=ptr->pas;
}
ptr->pas=temp;
return list;

Te shkruhet nje funksion qe ben shtimin e nje elementi te ri ne krye te listes

struct liste * ins_beg(struct liste * list, int item)


{
struct liste* temp;
temp=create_liste();
temp->vlera=item;
temp->pas=list;
list=temp;
return list;
}

Te shkruhet nje funksion qe ben shtimin e nje elementi te ri pas nje vlere te caktuar ne liste

struct liste * ins_after(struct liste * list,int vl,int item)


{
struct liste* ptr,*temp;
if(list==NULL)
{
printf("\n no liste");
return list;
}
temp=create_liste();
temp->vlera=item;
ptr=list;
while(ptr!=NULL)
{
if(ptr->vlera==vl)
break;
else
ptr=ptr->pas;
}
if(ptr!=NULL)
{
temp->pas=ptr->pas;
ptr->pas=temp;
}
else
printf("\n no liste");
return list;
}

Te shkruhet nje funksion qe heq elementin e fundit te nje liste lineare njedrejtimore
int del_end(struct liste * list)
{
struct liste* ptr;
int item;
if(list==NULL)
{
printf("\nlista eshte bosh\n");
return(0);
}
if(list->pas==NULL)
{
item=list->vlera;
list=NULL;
return item;
}
ptr=list;
while((ptr->pas)->pas!=NULL)
ptr=ptr->pas;
item=(ptr->pas)->vlera;
ptr->pas=NULL;

return(item);
}

Te shkruhet nje funksion qe heq elementin e pare ne nje liste lineare njedrejtimore

int del_beg(struct liste * list)


{
if (list==NULL)
{
printf("\nLista eshte bosh");
return 0;
}
int item;
item=list->vlera;
list=list->pas;
return(item);
}

Te shkruhet nje funksion qe heq nga lista elementin e pare me vlere vl.

int del_item(struct liste * list,int vl)


{
int item;
struct liste* ptr;
struct liste* temp;
if(list==NULL)
{
printf("\n lista eshte bosh");
return(0);
}
if(list->pas==NULL) //lista ka vetem nje element
if(list->vlera!=vl)
{
printf("\n vlera e dhene nuk ekziston ne liste");
return 0;
}
else
{
item=list->vlera;
list=list->pas;
return(item);
}
temp=list;
ptr=temp->pas;
while(ptr!=NULL)
{
if(ptr->vlera==vl)
break;
temp=ptr;
ptr=ptr->pas;
}
if(ptr!=NULL)
{
item=ptr->vlera;
temp->pas=ptr->pas;
return(item);
}
else
printf("\n vlera e dhene nuk ekziston\n");
return(0);
}

You might also like