/****************************/ /* 横型探索(幅優先探索) */ /* coded by Y.Suganuma */ /****************************/ #include <stdio.h> #include <queue> using namespace std; void print(queue<char> &q) { printf(" queue の状態: "); if (q.empty()) printf("空です\n"); else printf("先頭及び最後尾: %c %c, 要素数: %d\n", q.front(), q.back(), q.size()); } int main() { queue<char> q; printf("S の追加\n"); q.push('S'); print(q); printf("先頭 S を削除し,A, B, C を追加\n"); q.pop(); q.push('A'); q.push('B'); q.push('C'); print(q); printf("先頭 A を削除し,D, E を追加\n"); q.pop(); q.push('D'); q.push('E'); print(q); printf("先頭 B を削除\n"); q.pop(); print(q); printf("先頭 C を削除し,F, G を追加\n"); q.pop(); q.push('F'); q.push('G'); print(q); printf("先頭 D を削除\n"); q.pop(); print(q); printf("先頭 E を削除\n"); q.pop(); print(q); printf("先頭 F を削除\n"); q.pop(); print(q); printf("先頭 G を削除\n"); q.pop(); print(q); return 0; }