void bfs_traverse(double road[][MAX_POINT]) { int visited[MAX_POINT]; int i; for (i = 1; i < MAX_POINT; i++) visited[i] = 0; struct queueLK *hq; initQueue(hq); for (i = 1; i < MAX_POINT; i++) { if (!visited[i]) { visited[i] = 1; visit(road, i); enQueue(hq, i); while (!emptyQueue(hq)) { int u = outQueue(hq); int j; for (j = 1; j < MAX_POINT; j++) { if (road[u][j] > 0.0001 && !visited[j]) { visited[j] = 1; visit(road, j); enQueue(hq, j); } } } } } clearQueue(hq); }
int main(int argc, char const *argv[]) { Queue q; int a[8] = {1, 2, 3, 4, 5, 6, 7, 8}; int i; initQueue(&q); for (i = 0; i < 8; i++) { enQueue(&q, a[i]); // printf("%d\n", q.front->data); printf("%d\n", q.rear->data); } while(!isEmptyQueue(&q)) { printf("%d\n", outQueue(&q)); } return 0; }
/*main()函数*/ int main(int argc, char* argv[]) { queue_t q; int a[8] = {1, 2, 3, 4, 5, 6, 7, 8}; int i; initQueue(&q); for(i=0; i<8; i++) { enQueue(&q, a[i]); } // printf("%d",outQueue(&q)); enQueue(&q, 68); // printf("%d", peekQueue(&q)); while (!is_emptyQueue(&q)) { printf(" %d.\n", outQueue(&q)); } printf(" \n"); clearQueue(&q); }