参考代码#includestdio.h#includestdlib.htypedefstructNode{charch;structNode*prev;structNode*next;}Node;typedefstructStack{intsize;Node*begin;Node*end;}Stack;voidPush(Stack*q,charinput){Node*push(Node*)malloc(sizeof(Node));push-chinput;push-prevNULL;push-nextNULL;if(q-size0){q-beginpush;q-endpush;}else{q-end-nextpush;push-prevq-end;q-endpush;}q-size;}voidPop(Stack*q){if(q-size0){return;}if(q-size1){free(q-begin);q-size0;q-beginNULL;q-endNULL;return;}Node*tempq-end-prev;temp-nextNULL;free(q-end);q-endtemp;q-size--;}voiditerator(Stack*q){Node*headq-begin;while(head){printf_s(%c ,head-ch);headhead-next;}}intmain(){Stack q{0,NULL,NULL};for(inti0;i26;i){Push(q,65i);}iterator(q);for(inti0;i26;i){Pop(q);printf_s(\r\n);iterator(q);}return0;}运行结果