数据结构-顺序栈
来源:互联网 发布:手机搭建php 编辑:程序博客网 时间:2024/06/01 08:34
#include <stdio.h>#include <stdlib.h>#define LIST_INIT_SIZE 10#define LISTINCREMENT 100#define STACK_INIT_SIZE 100#define STACKINCREMENT 10#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef int SElemType;typedef struct{ SElemType *base; SElemType *top; int stacksize;} SqStack;Status InitStack(SqStack *S);Status Push(SqStack *S, SElemType e);Status Pop(SqStack *S, SElemType *e);Status StackEmpty(SqStack S);void conversion ();int main(){ printf("Please input a number to conver:\n"); conversion(); return 0;}Status InitStack(SqStack *S){ S->base = (SElemType *)malloc(STACK_INIT_SIZE*sizeof (SElemType)); if (!S->base) exit (OVERFLOW); S->top = S->base; S->stacksize = STACK_INIT_SIZE; return OK;}Status Push(SqStack *S, SElemType e){ if (S->top - S->base >= S->stacksize) //栈满 { S->base = (SElemType *)realloc (S->base, (S->stacksize + STACKINCREMENT) * sizeof(SElemType)); if (!S->base) exit (OVERFLOW); S->top = S->base + S->stacksize; S->stacksize += STACKINCREMENT; } // if *S->top++ = e; return OK;} //PushStatus Pop(SqStack *S, SElemType *e){ if(S->top == S->base)return ERROR; *e = *--S->top; return OK;} //PopStatus StackEmpty(SqStack S){ if (S.base == S.top) return TRUE; return FALSE;}void conversion (){ SqStack S; int N,e; InitStack(&S); scanf ("%d",&N); while (N) { Push(&S, N % 8); N = N/8; } while (!StackEmpty(S)) { Pop(&S, &e); printf ("%d", e); }}
0 0
- 数据结构(栈):顺序栈
- 数据结构之顺序栈
- 数据结构 顺序栈
- 数据结构,栈,顺序表示
- 【数据结构】顺序栈 Stack
- 数据结构《顺序栈》
- 数据结构----顺序栈
- 数据结构之顺序栈
- 数据结构-顺序栈
- 【数据结构】顺序栈_Stack
- 数据结构之顺序栈
- 【数据结构】·【顺序栈】
- 数据结构_顺序栈
- 数据结构之顺序栈
- 数据结构之顺序栈
- 数据结构之顺序栈
- 数据结构之顺序栈
- 数据结构之顺序栈
- JMeter配置远程执行
- 2017,版本2.0
- Cassandra 3.x官方文档_cassandra.yaml配置文件
- 关于ext多行下拉框的问题 lovcombo
- 《黑客与画家》系列读书笔记二
- 数据结构-顺序栈
- Android Studio与eclipse的选择
- 编译的时候说需要标示符,在代码第三行,为什么,求大神。
- javafx fxml 最简示例
- windows如何调试react native
- 一个很白吃的问题
- Makefile总述
- 开始新篇章
- set对象的问题