C++学习之类的学习之栈的编写

  1 #include<iostream>
  2 #include<cstdlib>
  3
  4 struct node
  5 {
  6
  7     int data;
  8     node* next;
  9
 10 };
 11
 12 class Stack
 13 {
 14
 15 public:
 16
 17     node* head;
 18
 19     Stack(void);
 20     ~Stack();
 21
 22     void push(int x);
 23     void pop(void);
 24
 25     int top(void);
 26     int empty(void);
 27
 28 };
 29
 30 Stack::~Stack()
 31 {
 32
 33     head->next=NULL;
 34
 35 }
 36
 37 Stack::Stack(void)
 38 {
 39
 40     Stack::head=(node*)malloc(sizeof(node));
 41
 42     Stack::head->next=NULL;
 43
 44 }
 45
 46 void Stack::push(int x)
 47 {
 48
 49     node* q=(node*)malloc(sizeof(node));
 50
 51     q->data=x;
 52     q->next=Stack::head;
 53
 54     Stack::head=q;
 55
 56 }
 57
 58 int Stack::empty(void)
 59 {
 60
 61     if(Stack::head->next==NULL) return 1;
 62
 63     return 0;
 64
 65 }
 66
 67 void Stack::pop(void)
 68 {
 69
 70     Stack::head=Stack::head->next;
 71
 72 }
 73
 74 int Stack::top(void)
 75 {
 76
 77     return Stack::head->data;
 78
 79 }
 80
 81 int main()
 82 {
 83
 84     int x;
 85     Stack stk;
 86
 87     while(x){
 88
 89         std::cin>>x;
 90
 91         stk.push(x);
 92
 93     }
 94
 95     while(!stk.empty())
 96     {
 97
 98         std::cout<<stk.top()<<" ";
 99
100         stk.pop();
101
102     }
103
104    105
106     return 0;
107 }
108
109     

运行结果:

时间: 2024-10-09 01:26:29

C++学习之类的学习之栈的编写的相关文章

一步一步学习数据结构(三)栈的顺序存储结构实现代码

//栈这种逻辑结构的实现与一般线性表的实现类似,有两种存储方式:顺序存储和链式存储 //先学习顺序存储 //1. #include<stdio.h> #include<stdlib.h> #define null NULL #define SIZE 100 typedef int dataType ; typedef struct { dataType data[SIZE]; int top; }cStack,*cStackPointer; //初始化栈空间 void initSt

《数据结构与算法分析》学习笔记(四)——栈ADT

一.栈ADT是what? 1.定义 栈,是限制插入和删除都只能在一个位置上进行的表. 2.图示 3.栈的基本功能 (1)是否为空 (2)进栈 (3)出栈 (4)清空 (5)取栈顶 二.栈的链表实现 <数据结构与算法分析>学习笔记(四)--栈ADT

算法学习 - 后缀表达式 (C++ 栈实现)

后缀表达式就是把一个式子进行树的后序遍历.然后根据这个顺序来求值. 栈来实现的时候很简单. 例如中缀表达式:6 * [ 5 + ( 2 + 3 )  * 8 + 3 ] 则 后缀表达式为:6 5 2 3 + 8 * + 3 + * 下面上代码: // // main.cpp // postfixExpression // // Created by Alps on 14-7-28. // Copyright (c) 2014年 chen. All rights reserved. // #inc

【Linux学习】Makefile学习(二)

FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 40975    Accepted Submission(s): 13563 Problem Description FatMouse prepared M pounds of cat food, ready to trade with the cats g

[学习笔记]iphone学习小技巧

1. 版本控制 -- 是否响应某个方法 .查看当前系统版本. eg: [self respondsToSelector:@Selector(presentModalViewController:animated:)]//Yes:表示响应这个方法 [[UIDevice currentDevice].systemVersion floatValue] < 7.0 //判断当前系统是否小于7.0 2. 模态视图动画设置 eg: ModalViewController *modalVC = [[Moda

Hadoop学习笔记(4) ——搭建开发环境及编写Hello World

Hadoop学习笔记(4) ——搭建开发环境及编写Hello World 整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclipse方便. 下载 进入官网:http://eclipse.org/downloads/. 找到相应的版本进行下载,我这里用的是eclipse-SDK-3.7.1-linux-gtk版本. 解压 下载下来一般是tar.gz文件,运行: $tar -zxvf eclipse-SDK-3.7.1-linu

Linux0.12内核学习之(1)——用MASM编写Boot Sector引导扇区

最近在学习Linux0.12内核,正在读<Linux内核完全剖析>.一开始就被ax86写的引导扇区弄晕了.于是Google了很多资料.最终实验了一晚上终于搞定.下面来看看我们怎么用Windows下的MASM来写个Boot Sector.因为我MASM汇编用的比较熟,所以就用MASM来写,当然,汇编只有语法差异,你用什么来写都没关系. 首先,先来说说计算机怎么启动的.经过一系列BIOS加电.系统自检后,会将硬盘0面0道1扇区的512字节(Boot Sector)加载到内存地址07c0:0000处

(转)Predictive learning vs. representation learning 预测学习 与 表示学习

Predictive learning vs. representation learning  预测学习 与 表示学习 When you take a machine learning class, there's a good chance it's divided into a unit on supervised learning and a unit on unsupervised learning. We certainly care about this distinction f

几种分类问题的区别:多类分类,多标签分类,多示例学习,多任务学习

多类分类(Multiclass Classification) 一个样本属于且只属于多个类中的一个,一个样本只能属于一个类,不同类之间是互斥的. 典型方法: One-vs-All or One-vs.-rest: 将多类问题分成N个二类分类问题,训练N个二类分类器,对第i个类来说,所有属于第i个类的样本为正(positive)样本,其他样本为负(negative)样本,每个二类分类器将属于i类的样本从其他类中分离出来. one-vs-one or All-vs-All: 训练出N(N-1)个二类

视频学习_css基础学习

块状元素 block element 容器元素  设置高宽 width height  可以容纳 文本 内脸 和其他块状 霸道  独占一行 特例:form  只容纳 块状元素 常见元素 http://www.w3cfuns.com/portal.php?mod=topic&quickforward=1&topicid=21 内联元素  inline element 非块状元素 不独占一行 只容纳文本  和内联 常见的 有a 相当与气球 内容越多越大 内联元素不能包含块状元素  气球不能装盒