|
⇤ ← 于2005-12-18 13:39:03修订的的版本1
大小: 1349
备注:
|
大小: 2040
备注:
|
| 删除的内容标记成这样。 | 加入的内容标记成这样。 |
| 行号 69: | 行号 69: |
| 1. {{{#!cplusplus #include <stdio.h> #define MAXVAL 10 int queue[MAXVAL]; int front = 0; int back = 0; int empty() { return front == back; } int full() { return (back + 1)%MAXVAL == front; } int size() { return (back - front + MAXVAL) % MAXVAL; } void enqueue(int v) { if(full()) return; queue[back++] = v; back = back % MAXVAL; } int dequeue() { int v; if( empty() ) return 0; v = queue[front++]; front = front % MAXVAL; return v; } main() { int i; for(i = 1; !full(); i++) enqueue(i); print("%d\n", size()); while(!empty()) printf("%d\n", dequeue()); } }}} |
读程序,写出程序运行的结果
1 #include <stdio.h> 2 void selectsort(int v[], int n) { 3 int i, j, min, temp; 4 for( i = 0; i < n-1; i++) { 5 min = i; 6 for( j = i + 1; j < n; j++) 7 if(v[j] < v[min]) 8 min = j; 9 temp = v[min]; 10 v[min] = v[i]; 11 v[i] = temp; 12 } 13 } 14 int main() { 15 int i; 16 int s[] = { 5, 4, 3, 2, 1}; 17 selectsort(s, 5); 18 for(i = 0; i < 5; i++) 19 printf("%3d", s[i]); 20 }
假定int, unsigned是32位的。
1 #include <stdio.h> 2 #define MAXVAL 10 3 int queue[MAXVAL]; 4 int front = 0; 5 int back = 0; 6 int empty() { 7 return front == back; 8 } 9 int full() { 10 return (back + 1)%MAXVAL == front; 11 } 12 int size() { 13 return (back - front + MAXVAL) % MAXVAL; 14 } 15 void enqueue(int v) { 16 if(full()) 17 return; 18 queue[back++] = v; 19 back = back % MAXVAL; 20 } 21 int dequeue() { 22 int v; 23 if( empty() ) 24 return 0; 25 v = queue[front++]; 26 front = front % MAXVAL; 27 return v; 28 } 29 main() { 30 int i; 31 for(i = 1; !full(); i++) 32 enqueue(i); 33 print("%d\n", size()); 34 while(!empty()) 35 printf("%d\n", dequeue()); 36 }