>>912
遅くなりましたが有り難うございます。
いろいろと弄ってみたのですがいくつか疑問が。

1.>>913の
while (stack)
{
printf("%d ", stack->data);
...
}
の部分の"while (stack)"という書き方を初めてみたのですがどのような条件を表しているのでしょうか?

2.同じく>>913の
while (pTmp2 && pTmp2->next) /* 末尾まで移動 */
は単体の処理でしょうか?
習ったwhile文で
while (pTmp2 && pTmp2->next) /* 末尾まで移動 */
{
pTmp2 = pTmp2->next;
pTmp2->next = pTmp; /* 末尾に追加 */
}
}
のように{}で囲むとキューの表示がおかしくなったので。

よろしくお願いします。