Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- #include<stdlib.h>
- struct node
- {
- int info;
- struct node *adr_urm;
- };
- struct node *primul=NULL;
- struct node* createNode()
- {
- struct node *temp;
- temp=(struct node*)malloc(sizeof(struct node));
- return temp;
- };
- void inserareInceput(int n)
- {
- struct node *temp;
- temp=createNode();
- temp->info=n;
- if(primul==NULL)
- {
- primul=temp;
- }
- else
- {
- temp->adr_urm=primul;
- primul=temp;
- }
- }
- void InserareSfarsit(int n)
- {
- struct node *temp;
- struct node *traverse;
- temp=createNode();
- temp->info=n;
- if(primul==NULL)
- {
- primul=temp;
- }
- else
- {
- traverse=primul;
- while(traverse->adr_urm!=NULL)
- {
- traverse=traverse->adr_urm;
- }
- traverse->adr_urm=temp;
- }
- }
- void inserareOriunde(int data,int n)
- {
- int i;
- struct node *temp;
- temp=createNode();
- temp->info=data;
- if(n==1)
- {
- temp->adr_urm=primul;
- primul=temp;
- }
- else
- {
- struct node *traverse;
- traverse=primul;
- for(i=1;i<n-1;i++)
- {
- traverse=traverse->adr_urm;
- }
- temp->adr_urm=traverse->adr_urm;
- traverse->adr_urm=temp;
- }
- }
- void StergereInceput()
- {
- struct node *temp;
- temp=createNode();
- if(primul==NULL)
- {
- printf("PROBLEMA");
- }
- else
- {
- temp=primul;
- primul=temp->adr_urm;
- free(temp);
- }
- }
- void StergereSfarsit()
- {
- struct node *traverse;
- struct node *prev;
- prev=createNode();
- if(primul==NULL)
- {
- printf("PROBLEMA");
- }
- else
- {
- traverse=primul;
- while(traverse->adr_urm!=NULL)
- {
- prev=traverse;
- traverse=traverse->adr_urm;
- }
- free(traverse);
- prev->adr_urm=NULL;
- }
- }
- void StergereOriunde(int n)
- {
- int i;
- struct node *temp;
- temp=createNode();
- if(n==1)
- {
- primul=temp->adr_urm;
- primul=temp;
- free(temp);
- }
- else
- {
- temp=primul;
- for(i=1;i<n-1;i++)
- {
- temp=temp->adr_urm;
- }
- struct node *temp2;
- temp2=createNode();
- temp2=temp->adr_urm;
- temp->adr_urm=temp2->adr_urm;
- free(temp2);
- }
- }
- void show()
- {
- struct node *traverse;
- traverse=primul;
- while(traverse!=NULL)
- {
- printf("%d ",traverse->info);
- traverse=traverse->adr_urm;
- }
- }
- int main()
- {
- InserareSfarsit(43);
- InserareSfarsit(45);
- InserareSfarsit(5);
- InserareSfarsit(43);
- InserareSfarsit(45);
- InserareSfarsit(5);
- //inserareOriunde(5,4);
- StergereOriunde(3);
- //StergereInceput();
- //StergereSfarsit();
- show();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement