Advertisement
Guest User

Untitled

a guest
Jul 21st, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #define MAX 1000
  6.  
  7. struct queue{
  8. int cs;
  9. int head;
  10. int tail;
  11. int items[MAX];
  12. };
  13.  
  14. int is_empty(struct queue *queue){
  15. if(queue->cs == 0)return 1;
  16. else return 0;
  17. }
  18.  
  19. struct queue *create_queue(){
  20. struct queue *new;
  21.  
  22. new = (struct queue*) malloc(sizeof(struct queue));
  23. new->cs = 0;
  24. new->head = 0;
  25. new->tail = MAX - 1;
  26.  
  27. return new;
  28. }
  29.  
  30. void enqueue(struct queue *queue, int item){
  31.  
  32. if(queue->cs>=MAX){
  33. printf("Queue overflow");
  34. }else{
  35. queue->tail = (queue->tail + 1) % MAX;
  36. queue->items[queue->tail] = item;
  37. queue->cs++;
  38. }
  39. }
  40.  
  41. struct queue *or(struct queue *queue){
  42. int i, j, aux;
  43. int *p, *q, *r;
  44.  
  45. for(i=0; i<queue->cs; i++){
  46. for(j=i+1; j<queue->cs; j++){
  47. if(queue->items[i]<queue->items[j]){
  48. /**q = queue->items[i];
  49. p = &queue->items[i];
  50. *p = queue->items[j];
  51. r = &queue->items[j];
  52. *r = *q;*/
  53.  
  54.  
  55. aux = queue->items[i];
  56. queue->items[i]=queue->items[j];
  57. queue->items[j]=aux;
  58. }
  59. }
  60. }
  61.  
  62. return queue;
  63. }
  64.  
  65. int main(){
  66.  
  67. int i, j;
  68. int n, m, x, qnt, aux;
  69. struct queue *fil, *fil2;
  70. scanf("%d", &n);
  71.  
  72. fil = create_queue();
  73. fil2 = create_queue();
  74.  
  75. for(i=0; i<n; i++){
  76.  
  77. scanf("%d", &m);
  78.  
  79. for(j=0; j<m; j++){
  80. scanf("%d", &x);
  81.  
  82. enqueue(fil, x);
  83. enqueue(fil2, x);
  84. }
  85. qnt = fil->cs;
  86. aux = fil->cs;
  87. fil = or(fil);
  88.  
  89. for(j=0; j<fil->cs; j++){
  90. if(fil->items[j]!=fil2->items[j])qnt--;
  91. }
  92. printf("%d\n", qnt);
  93.  
  94. fil->cs = 0;
  95. fil->tail = MAX - 1;
  96. fil2->cs = 0;
  97. fil2->tail = MAX - 1;
  98. }
  99.  
  100. return 0;
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement