您的位置:首页 > 其它

顺序栈

2015-06-30 14:48 239 查看
//============================================================================

// Name        : C++Study.cpp

// Author      : pan

// Version     :

// Copyright   : Your copyright notice

// Description : Hello World in C++, Ansi-style

//============================================================================

#include <iostream>

#include "Graph.h"

#include <stdio.h>

#include <vector>

#include <cstring>

#include <vector>

#include<stdlib.h>

#include<assert.h>

using namespace std;

#define MAXSIZE 100

struct Stack {
char data[MAXSIZE];
int pos;

};

void createStack(Stack* stack, char a[], int n) {
assert(n<MAXSIZE);
for (int i = 0; i < n; i++) {
stack->data[i] = a[i];
stack->pos = i;
}

}

void pop(Stack* stack) {

stack->data[stack->pos] = '\0';
stack->pos--;

}

void push(Stack* stack, char c) {
stack->data[stack->pos + 1] = c;
stack->pos++;

}

char getpopEle(Stack* stack)

{
return stack->data[stack->pos];

}

void ShowStack(Stack* stack) {
for (int i = 0; i < stack->pos + 1; i++) {
cout << stack->data[i];
}

}

int main() {

Stack stack;
char a[] = { 'a', 'b', 'c', 'd' };
createStack(&stack, a, strlen(a));
ShowStack(&stack);
pop(&stack);
push(&stack, 'e');
char e=getpopEle(&stack);
cout<<e<<endl;
ShowStack(&stack);

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: