王道数据结构顺序栈和链栈的创建与展示

#include "stdafx.h"
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#define MaxSize 50
using namespace std;
typedef struct
{
	int data[MaxSize];
	int top;
}SqStack;
//初始时设置S.top=-1,栈为空,S.top栈顶指针;栈顶元素S.data[S.top]。

bool Create_SqStack(SqStack &S)
{
	S.top = -1;
	int x = 0;
	cin >> x;
	while (x != 99)
	{
		
		S.data[++S.top] = x;
		cin >> x;
	}
	//判满
	if (S.top < MaxSize - 1)
		return true;
	else
		return false;

}
void Show_SqStack(SqStack &S)
{
	while (S.top != -1)//判空
	{
		int x = 0;
		x = S.data[S.top--];
		cout << x << endl;
	}
}
typedef struct Linknode
{
	int data;//数据域
	struct Linknode *next;//指针域
}*LiStack;//栈类型定义
LiStack Create_LStack(LiStack &LS)
{
	LS = (LiStack)malloc(sizeof(Linknode));
	LS->next = NULL;
	LS->data = 0;
	LS->next;
	int x = 0;
	cin >> x;
	while (x != 99)
	{

		LiStack s;
		s = (LiStack)malloc(sizeof(Linknode));
		s->data = x;
		s->next = LS->next;//类似尾插,插入结点的前后都要赋值。
		LS->next = s;
		cin >> x;
	}
	return LS;
}
void Show_LStack(LiStack &LS)
{
	LiStack p = LS->next;
	while (p != NULL)//判空
	{
		cout << p->data << endl;
		p = p->next;
	}
}
int main()
{
	SqStack S;//顺序栈
	Create_SqStack(S);
	Show_SqStack(S);

	LiStack LS;//链栈
	Create_LStack(LS);
	Show_LStack(LS);
	system("pause");
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值