Exemple #1
0
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);
}
Exemple #2
0
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;
}
Exemple #3
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);
}