使用C风格的实现,栈的内部使用单链表结构实现。实现接口为:创建表头、入栈、出栈、反转、打印、清空
代码结构如下:
SingleList.h:数据结构的声明和定义
main.cpp:测试数据结构:
SingleList.h:
#pragma once
#include<iostream>
#include<string.h>
using namespace std;
struct Node{
int num;
Node* next;
};
typedef Node* pNode;
typedef pNode ListHead;
bool IsEmpty(ListHead head);
ListHead InitSingleList();
bool DestroySingleList(ListHead head);
bool Push(ListHead head,int a);
bool Pop(ListHead head, int & a);
bool ReverseSingleList(ListHead* head);
void PrintSingleList(ListHead head);
void PrintError(const char * pMsg){cout << pMsg << endl; }
ListHead InitSingleList()
{
pNode pnode = new Node;
if (!pnode)
{
PrintError("Create Null ptr");
return NULL;
}
pnode->num = 0;
pnode->next = NULL;
return pnode;
}
bool IsEmpty(ListHead head)
{
if (head->next == NULL)
{