栈的操作演示程序

#include<stdio.h>
#include<malloc.h>
#include<conio.h>
#include<math.h>

#define OK 1
#define ERROR 0
#define OVERFLOW -1

typedef int Status;
typedef int ElemType;
typedef int bool;

/* WIN-TC BGI 图形编程模板 */

#include "Conio.h"
#include "graphics.h"
#include "dos.h"
#define closegr closegraph

void initgr(void) /* BGI初始化 */
{
  int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是同样效果 */
  registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */
  initgraph(&gd, &gm, "");
}
void drawmat(char *mat,int matsize,int x,int y,int color)
/*依次:字模指针、点阵大小、起始坐标(x,y)、颜色*/
{int i,j,k,n;
 n=(matsize-1)/8+1;
 for(j=0;j<matsize;j++)
  for(i=0;i<n;i++)
   for(k=0;k<8;k++)
    if(mat[j*n+i]&(0x80>>k))  /*测试为1的位则显示*/
     putpixel(x+i*8+k,y+j,color);
}

char zhan64H[]={
/* 以下是 '栈' 的 64点阵华文隶书 字模,512 byte */
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x30,0x00,0x1C,0x00,0x00,0x00,
  0x00,0x00,0x38,0x00,0x1C,0x01,0x80,0x00,
  0x00,0x00,0x78,0x00,0x1C,0x03,0xC0,0x00,
  0x00,0x00,0x7C,0x00,0x1C,0x03,0xC0,0x00,
  0x00,0x01,0xFF,0x80,0x3F,0xFF,0xF0,0x00,
  0x00,0x0F,0xFF,0xE3,0xFF,0xFF,0xFF,0x00,
  0x01,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0x00,
  0x01,0xFF,0xFF,0xF7,0xFF,0xFF,0xFE,0x00,
  0x03,0xFF,0xFF,0xE7,0xFF,0xFF,0xFC,0x00,
  0x03,0xFF,0xFF,0xC7,0xFF,0x00,0x00,0x00,
  0x03,0xFF,0xFF,0x80,0x0F,0x00,0x00,0x00,
  0x03,0xFF,0xFC,0x00,0x0F,0x00,0x00,0x00,
  0x03,0xFE,0x78,0x00,0x0F,0x9F,0xF8,0x00,
  0x01,0xE0,0x70,0x00,0x3F,0xFF,0xFE,0x00,
  0x00,0x00,0x78,0x07,0xFF,0xFF,0xFE,0x00,
  0x00,0x00,0xFC,0x0F,0xFF,0xFF,0xFC,0x00,
  0x00,0x01,0xFE,0x0F,0xFF,0xFF,0xF8,

时间: 2024-09-20 12:01:22

栈的操作演示程序的相关文章

最好是mytc做-数据结构里关于栈的操作

问题描述 数据结构里关于栈的操作 1.采用链式存储实现栈的初始化.入栈.出栈操作. 2. 结构体部分代码: typedef struct node { int data; struct node *next; }StackNode,*LinkStack; //定义栈结构 LinkStack Init_LinkStack() { return NULL; } //初始化 函数(a): LinkStack Push_LinkStack(LinkStack top,int x)//入栈 {-} 函数(

数据结构顺序表(栈的操作问题)

问题描述 数据结构顺序表(栈的操作问题) 数据结构顺序表(栈的操作问题) x='@'; 在数据结构中有什么意义? 解决方案 数据结构中最简单的就是线性结构,而栈(stack)则是最典型的线性结构之一.http://blog.csdn.net/hopeyouknow/article/details/6725049 解决方案二: 一般这用来作为终止符号. 解决方案三: 没什么意义,只要符合栈的特点,怎么控制都行,这只是一种控制的方式

【数据结构之旅】顺序栈入门操作

说明:     书中已有关于顺序栈的类型定义.栈初始化.入栈操作,显然这些都是比较理论的算法,书中并没有给出一个完整可以执行的例子,这对初学者学习在理解上会有一定的难度,因此,需要编写一个简单的例子来理解栈的最基本操作. 1.程序功能     通过使用栈来编写一个程序,实现两个数的交换. 2.程序代码及注释     代码及注释如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3

线性表实现栈的操作

参考自:http://blog.csdn.net/u010187139/article/details/46673163 源码下载:http://pan.baidu.com/s/1bnFIEGv // // main.c // LineStackDemo // // Created by zhanggui on 15/8/12. // Copyright (c) 2015年 zhanggui. All rights reserved. // #include <stdio.h> #define

数据结构:栈和队列的定义和操作

一.栈和队列定义 1).栈 定义: 栈(Stack)是一个后进先出(Last in first out,LIFO)的线性表,它要求只在表尾进行删除和插入操作. 图如下: 特点: 一.栈特殊的线性表(顺序表.链表),它在操作上有一些特殊的要求和限制:栈的元素必须"后进先出". 三.栈的表尾称为栈的栈顶(top),相应的表头称为栈底(bottom) 二.栈的操作只能在这个线性表的表尾进行. 2).队列 定义: 队列是限定只能在表的一端进行插入,在表的另一端进行删除的特殊的线性表. 图如下:

【数据结构之旅】顺序栈的定义、初始化、空栈判断、入栈、出栈操作

说明:     往前学习数据结构,想运行一个完整的顺序栈的程序都运行不了,因为书上给的都是一部分一部分的算法,并没有提供一个完整可运行的程序,听了实验课,自己折腾了一下,总算可以写一个比较完整的顺序栈操作的小程序,对于栈也慢慢开始有了感觉.下面我会把整个程序拆开来做说明,只要把这些代码放在一个文件中,用编译器就可以直接编译运行了. 一.实现 1.程序功能   关于栈操作的经典程序,首当要提及进制数转换的问题,利用栈的操作,就可以十分快速地完成数的进制转换. 2.预定义.头文件导入和类型别名   

c++-顺序栈中的重载操作&amp;amp;lt;&amp;amp;lt;

问题描述 顺序栈中的重载操作<< template osrtream& operator<<(ostream& os,SeqStack&s){ os<<"top="<<s.top<<endl; for(int i=0;i<=s.top;i++) os<<i<<":"<<s.elements[i]<<endl; return os;

解密回文——栈

上一节中我们学习了队列,它是一种先进先出的数据结构.还有一种是后进先出的数据结构它叫做栈.栈限定只能在一端进行插入和删除操作.比如说有一个小桶,小桶的直径只能放一个小球,我们现在向小桶内依次放入2号.1号.3号小球.假如你现在需要拿出2号小球,那就必须先将3号小球拿出,再拿出1号小球,最后才能将2号小球拿出来.在刚才取小球的过程中,我们最先放进去的小球最后才能拿出来,而最后放进去的小球却可以最先拿出来.这就是后进先出,也可以称为先进后出. 我们生活中还有很多这样的例子,比如我们在吃桶装薯片的时候

基本数据结构:栈的链式表示

以下为操作栈的算法,该栈为动态栈. 在该栈中,pTop指向的节点中存放该栈的栈顶数据,pBottom指向的节点的上一个节点存放该栈的栈底数据,pBottom指向的节点中不存放有效数据,这样做的目的是为了在进行入栈和出栈时方便对栈的操作,而不用考虑特殊情况 操作系统:ubuntu 编译软件:gcc 结果截图: