Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- //UNSHIFT
- void f_unshift(int array_of_elements[],int size,int& head,int tail,int new_element)
- {
- if (head==tail-1)
- return;
- if ((head==size-1)&&(tail==0))
- return;
- array_of_elements[head]=new_element;
- if (head!=size-1)
- {
- head++;
- return;
- }
- if (head==size-1)
- head=0;
- }
- //SHIFT
- int f_shift(int array_of_elements[],int size,int& head,int tail)
- {
- int b;
- if (head==tail)
- return 404;
- if (head==0)
- {
- head=size-1;
- b=array_of_elements[head];
- array_of_elements[head]=0;
- return b;
- }
- head--;
- b=array_of_elements[head];
- array_of_elements[head]=0;
- return b;
- }
- //PUSH
- void f_push(int array_of_elements[],int size,int head,int& tail,int new_element)
- {
- if (head==tail-1)
- return;
- if ((head==size-1)&&(tail==0))
- return;
- if (tail==0)
- {
- tail=size-1;
- array_of_elements[tail]=new_element;
- return;
- }
- tail--;
- array_of_elements[tail]=new_element;
- }
- //POP
- int f_pop(int array_of_elements[],int size,int head,int& tail)
- {
- int b;
- if (head==tail)
- return 404;
- if (tail==size-1)
- {
- tail=0;
- b=array_of_elements[size-1];
- array_of_elements[size-1]=0;
- return b;
- }
- tail++;
- b=array_of_elements[tail-1];
- array_of_elements[tail-1]=0;
- return b;
- }
- // FOR TEST
- void f_clean_array(int array[],int size)
- {
- for (int i=0;i<size;i++)
- array[i]=0;
- }
- int main()
- {
- int size = 10;
- int array_of_elements[size];
- f_clean_array(array_of_elements,size);
- int head = 0;
- int tail = 0;
- int k = 0;
- //TEST
- cout << "UNSHIFT = 1" << endl << "SHIFT = 2" << endl << "PUSH = 3" << endl << "POP = 4" << endl;
- while (k==0)
- {
- int a;
- cin >> a;
- if (a==1)
- {
- cout << "UNSHIFT : ";
- int b;
- cin >> b;
- f_unshift(array_of_elements,10,head,tail,b);
- }
- if (a==2)
- cout << "SHIFT : " << f_shift(array_of_elements,size,head,tail) << endl;
- if (a==3)
- {
- cout << "PUSH: ";
- int b;
- cin >> b;
- f_push(array_of_elements,size,head,tail,b);
- }
- if (a==4)
- cout << "POP : " << f_pop(array_of_elements,size,head,tail) << endl;
- for (int i=0;i<size;i++)
- cout << array_of_elements[i] << " ";
- cout << endl << "HEAD : " << head << " TAIL : " << tail << endl;
- }
- //TEST END
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement