最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
偶做的简单行编辑程序
时间:2022-07-02 10:58:41 编辑:袖梨 来源:一聚教程网
这是我的行编辑程序,各位指点指.
#include
#include
#define STACK_INIT_SIZE 100
#define MAXSIZE 50
#define INCREMENT 10
#define OVERFLOW -2
#define ERROR -1
#define OK 0
typedef struct
{
int *base;
int *top;
int StackSize;
}SqStack,*PStack;
void InitStack(PStack S);
void DestroyStack(PStack S);
void ClearStack(PStack S);
int GetTop(PStack S,int *e);
void Push(PStack S,int e);
int Pop(PStack S);
void InitStack(PStack S)
{
if(!(S->base = (int *)malloc(STACK_INIT_SIZE *sizeof(int))))
exit(OVERFLOW);
S->top = S->base;
S->StackSize = STACK_INIT_SIZE;
return;
}
void DestroyStack(PStack S)
{
free(S->base);
S->top = S->base;
return;
}
void ClearStack(PStack S)
{
S->top = S->base;
return;
}
int GetTop(PStack S,int *e)
{
if(S->top == S->base)
return ERROR;
*e = *(S->top - 1);
return OK;
}
void Push(PStack S,int e)
{
if(S->top - S->base >=S->StackSize)
{
S->base = (int *)realloc(S->base,(STACK_INIT_SIZE + INCREMENT) *sizeof(int));
if(!S->base)
exit(OVERFLOW);
S->top = S->base + S->StackSize ;
S->StackSize = S->StackSize + INCREMENT;
}
*S->top ++ = e;
return;
}
int Pop(PStack S)
{
if(S->top - S->base ==0)
return ERROR;
S->top --;
return OK;
}
int main()
{
SqStack S;
char ch;
FILE *fp;
char Array[MAXSIZE];
int *p;
int i ;
InitStack(&S);
printf("please enter the context:n");
ch = getchar();
while(ch != '!')
{
while(ch != '!' && ch != 'n')
{<
相关文章
- 王者荣耀S38赛季有什么更新 12-25
- 王者荣耀S38赛季有什么更新 王者荣耀S38赛季更新内容介绍 12-25
- 世界之外12.25有什么更新 世界之外12月25日更新内容介绍 12-25
- 光遇12.25红石碎片在哪里 光遇12月25日红石碎片位置攻略 12-25
- 奇迹暖暖绚光引途第二天怎么玩 绚光引途day2庆祝之舞搭配攻略 12-25
- 无限暖暖拍照打卡位置在哪里 无限暖暖世界巡游位置全攻略 12-25