基于栈数据结构下实现的行编辑程序——C语言

这是一个使用C语言编写的基于栈数据结构的行编辑程序,通过严蔚敏版数据结构中的栈章节知识实现。程序包括初始化栈、判断栈是否为空、元素压栈、出栈、清空栈等操作,可以处理#、@等特殊字符,实现简单的行编辑功能。
摘要由CSDN通过智能技术生成

本程序基于数据结构——严蔚敏版中栈章节的行编辑程序

由于相对简单,直接将源码附上:

#include<stdio.h>
#include<stdlib.h>
#define STACKINCREMENT 10
#define STACK_INIT_SIZE 100
typedef char SElemType;
typedef struct {
    SElemType *top;    //栈顶指针
    SElemType *base;   //栈底指针
    int stacksize;       //栈当前分配空间,以元素为单位
} SqStack;

void InitStack(SqStack &S) {
    S.base=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));
    if(!S.base) {
        printf("空间创建失败,程序退出!\n");
        exit(!0);
    }
    S.top=S.base;
    S.stacksize=STACK_INIT_SIZE;
}
bool isEmpty(SqStack &S) {
    if(S.top==S.base) {
        return true;
    } else {
        return false;
    }

}
void Push(SqStack &S,char

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值