Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <assert.h>
- typedef struct Element
- {
- int Data;
- struct Element *next;
- }Element;
- struct Handler
- {
- Element * beg,* end;
- };
- void push_back(struct Handler * , int );
- void push_front(struct Handler *, int );
- void insert(struct Handler *, int , int );
- int main(void)
- {
- struct Handler handler;
- Element *Show_DATA;
- handler.beg=NULL;
- handler.end=NULL;
- push_front(&handler,10);
- push_front(&handler,9);
- push_back(&handler,11);
- push_front(&handler,8);
- push_front(&handler,7);
- push_front(&handler,6);
- push_back(&handler,12);
- insert(&handler,8,88);
- insert(&handler,88,888);
- Show_DATA=handler.beg;
- while(Show_DATA!=NULL)
- {
- printf("%d\n",Show_DATA->Data);
- Show_DATA=Show_DATA->next;
- }
- return 0;
- }
- void insert(struct Handler *h, int find_value, int value)
- {
- Element *node;
- node=h->beg;
- while(node!=NULL)
- {
- if(node->Data==find_value)
- break;
- else
- {
- node=node->next;
- continue;
- }
- }
- if(node==NULL)
- printf("Nie znaleziono zadanej wartosci.\n");
- else
- {
- Element *Additional_node=(Element *)malloc(sizeof(Element));
- assert(Additional_node!=NULL);
- Additional_node->Data=value;
- Additional_node->next=node->next;
- node->next=Additional_node;
- }
- }
- void push_front(struct Handler *h, int value)
- {
- Element *node=(Element *)malloc(sizeof(Element));
- assert(node!=NULL);
- node->Data=value;
- if(h->beg==NULL)
- {
- h->beg=node;
- h->end=node;
- node->next=NULL;
- }
- else
- {
- node->next=h->beg;
- h->beg=node;
- }
- }
- void push_back(struct Handler *h, int value)
- {
- Element *node=(Element *)malloc(sizeof(Element));
- assert(node!=NULL);
- node->Data=value;
- node->next=NULL;
- if(h->beg==NULL)
- {
- h->beg=node;
- h->end=node;
- }
- else
- {
- h->end->next=node;
- h->end=node;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement