Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <stdio.h>
- #define N 5
- struct queue1 {
- int arr[N];
- int len;
- } queue;
- //CIRCULAR QUEUES
- struct queue3 {
- struct queue1 q;
- int i;
- int newest;
- int oldest;
- } q_circ;
- void r_shift ( int val ) {
- for ( int i = N-1; i > 0 ; i++ )
- q_circ.q.arr[i] = q_circ.q.arr[i-1];
- q_circ.q.arr[0] = val;
- }
- void push_1(int val) {
- int flag = 0;
- if ( q_circ.newest >= 0 && q_circ.oldest == 0 && q_circ.newest <= N-1
- ) {
- q_circ.newest++;
- q_circ.q.len++;
- q_circ.q.arr[q_circ.newest] = val;
- }
- if ( q_circ.newest == N-1 && q_circ.oldest == 0 ) {
- q_circ.newest = 0;
- q_circ.oldest = N-1;
- flag = 1;
- }
- if ( q_circ.newest == 0 && q_circ.oldest == N-1 && flag == 1 )
- r_shift(val);
- }
- void print () {
- for ( int i = 0; i <= q_circ.q.len ; i++)
- printf("%d ", q_circ.q.arr[i] );
- printf("n");
- }
- int main()
- {
- printf("dot.n");
- //CIRCULAR
- printf("nCIRCULAR queuen");
- q_circ.oldest = -1;
- q_circ.newest = -1;
- push_1(1);
- print();
- push_1(2);
- print();
- push_1(3);
- print();
- push_1(4);
- print();
- push_1(5);
- print();
- push_1(6);
- print();
- push_1(7);
- print();
- push_1(8);
- print();
- push_1(9);
- print();
- return 0;
- }
Add Comment
Please, Sign In to add comment