Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define SIZE 5
- void add_at_back(int *, int);
- void remove_at_back(int*);
- void remove_k_element(int*, int);
- void print_list(int*);
- int main()
- {
- int *tab=(int)calloc(SIZE, sizeof(int));
- tab[0]=0;
- int i;
- for(i=0;i<32;++i)
- add_at_back(tab,i);
- print_list(tab);
- remove_at_back(tab);
- remove_at_back(tab);
- remove_at_back(tab);
- remove_at_back(tab);
- remove_at_back(tab);
- remove_at_back(tab);
- remove_at_back(tab);
- remove_k_element(tab,1);
- remove_k_element(tab,3);
- remove_k_element(tab,5);
- print_list(tab);
- return 0;
- }
- void add_at_back(int *tab, int data)
- {
- if((tab[0]+1)%5==0)
- tab=(int)realloc(tab,SIZE*sizeof(int)+(tab[0]+1)*sizeof(int));
- tab[++tab[0]]=data;
- }
- void remove_at_back(int *tab)
- {
- if(tab[0]>0)
- {
- tab[tab[0]]=0;
- tab[0]--;
- }
- if((tab[0])%5==0)
- tab=(int)realloc(tab,SIZE*sizeof(int)+(tab[0]+1)*sizeof(int));
- }
- void print_list(int *tab)
- {
- int i;
- for(i=1;i<tab[0]+1;++i)
- printf("%d ", tab[i]);
- puts("");
- }
- void remove_k_element(int *tab, int k)
- {
- if(tab[0]>=1 && (k<=tab[0]))
- {
- int i;
- for(i=k;i<tab[0]+1;++i)
- tab[i]=tab[i+1];
- tab[0]--;
- if((tab[0])%5==0)
- tab=(int)realloc(tab,SIZE*sizeof(int)+(tab[0]+1)*sizeof(int));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement