栈的颠倒算法 递归实现

来源:互联网 发布:windows美化大师 编辑:程序博客网 时间:2024/05/22 04:39
#include <stdio.h>// 栈结构体typedef struct stock {    int data[20];int top;} stock;// 压入void push(stock* s, int val) {    s->data[s->top] = val;s->top++;}// 弹出int pop(stock* s) {  s->top++;  return s->data[s->top];}// 清空int empty(stock* s) {    return s->top == 0 ? 1 : 0;}// 打印栈void print(stock* s) {for (int i = 0; i < s->top; i++) {    printf("%d ", s->data[i]);}}// 颠倒栈元素void reverse(stock* s, stock* rs) {    if (empty(s)) return;int val = pop(s);push(rs, val);reverse(s, rs);}

0 0
原创粉丝点击