建立数据域值为字符型的链式栈

本文介绍如何使用C语言实现一个数据域为字符的链式栈,包括栈的初始化、节点生成、显示栈内容、销毁栈、清空栈、获取栈顶元素、入栈和出栈操作。示例代码详细展示了每个功能的实现方法。
摘要由CSDN通过智能技术生成
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<time.h>
#define ElemType char
#define SIZE 10

typedef struct LSNode
{
	char data;//栈结点的数据域
	struct LSNode *prior;//指向前驱的指针
	struct LSNode *next;//指向下一结点的指针
}LSNode,*LStack;

LStack base,top;//定义栈底与栈顶指针,全局变量
//LSNode *base,*top;//和上行等价的另一种定义方式

int InitLinkStack(LStack &LS)
{//栈初始化,完成初始化时栈中没有结点
	LS=(LStack)malloc(sizeof(LSNode));
	LS->data='*';LS->next=LS->prior=NULL;
	base=top=LS;//初始化栈底与栈顶
	return 1;
}

int Assignment(LStack &LS)//为栈生成一些结点
{
	srand((unsigned)time(NULL));
	LStack p;
	for(int k=0;k<SIZE;k++)
	{
		p=(LStack)malloc(sizeof(LSNode));
		if(rand()%2)p->data='A'+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Storm-Shadow

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值