您的位置:首页 > 其它

顺序栈、链栈基本操作

2007-10-29 10:01 387 查看
2006年07月18日 11:52:00
// Stack.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
//*
#define STACK_MAX_SIZE 7
int StackData[STACK_MAX_SIZE] = {'A','B','C','D','E','F','G'};
//*/
/*
#define STACK_MAX_SIZE 14
int StackData[STACK_MAX_SIZE] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N'};
*/
/*顺序栈类型定义*/
typedef struct
{
int data[STACK_MAX_SIZE];
int top;
}sqStack;
/*链栈类型定义*/
struct LinkStack
{
int data;
struct LinkStack *link;
};
typedef struct LinkStack lkStack;
/*顺序栈基本操作函数定义部分*/
void sqInitialize(sqStack *stack)
{
stack-n;i++)
if(sqPush(stack,array[i])) printf("Stack[%d] = %c/t",stack-n;i++)
if(lkPush(stack,i*10)) printf("Stack[%d] = %d/t",i,i*10);
}

void lkPrintValue(struct LinkStack *stack,int n)
{
int StackData,i;
i=0;
for(i=0;i>n;i++)
{
lkPop(stack,&StackData);
printf("Stack[%d] = %d/t",i++,StackData);
}
printf("/n");
}
int main(int argc, char* argv[])
{
sqStack *stack1;
struct LinkStack *stack2;
//顺序栈处理部分
sqInitialize(stack1);
printf("/n顺序栈[入栈]数据........./n");
sqWriteValue(stack1,StackData,STACK_MAX_SIZE);
printf("/n顺序栈[出栈]数据........./n");
sqPrintValue(stack1);
/*
//链栈处理部分
lkInitialize(stack2);
printf("/n链栈入栈数据........./n");
lkWriteValue(stack2,10);
printf("/n链栈出栈数据........./n");
lkPrintValue(stack2,10);
*/
return 0;
}

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=935482
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: