c++之链表实现栈
2015-11-23 22:19
232 查看
利用头插法和头结点删除的方法,实现栈储存的特点
#include<iostream> #include <stdio.h> struct Node { int data; Node *next; }; class myStack { public: myStack(); void push(int a); int pop(); bool isEmpty(); int size(); private: Node *head; int N; };
#include<iostream> #include"myStack.h" using namespace std; myStack::myStack() { head=new Node; N=0; head->next=NULL; } void myStack::push(int a) { Node *p=new Node; p->data=a; if(head->next==NULL) { head->next=p; p->next=NULL; } else { p->next=head->next; head->next=p; } N++; } int myStack::pop() { Node *p=head->next; int a=p->data; head->next=p->next; N--; delete p; return a; } bool myStack::isEmpty() { return head->next==NULL; } int myStack::size() { return N; }
相关文章推荐
- C语言段与内存的理解
- C++开发中一个解决方案里,两个项目的相互引用,相互依赖的实现方法(解决方法)
- strcpy,strncpy函数实现——string.h库函数
- 有序矩阵查找的快速算法(C++版)
- 【C++】非递归求二叉树的前序和中序序列
- c++类模板之间友元函数调用
- 《C++ primer》英文第五版阅读笔记(十六)——赋值运算符
- 【UVALive】3029.City Game<C++>
- 三色排序问题/(荷兰国旗问题)(C++版)
- C++ 表达式
- 【应用笔记】【AN003】VC++环境下基于以太网的4-20mA电流采集
- 二叉树的基本操作的c++实现
- C++ for_each学习笔记
- C/C++中void用法总结
- 数据抽象与封装的好处--【primer第四版】
- C/C++学习(二)输入n个整数,输出其中最小的k个。
- 合并两个有序数组(C++版)
- c++之判断栈的弹出是否合法
- c++之栈的顺序表实现
- C语言初学者画图练习