算法与数据结构试验5.docx

算法与数据结构试验5.docx

ID:55279710

大小:456.12 KB

页数:7页

时间:2020-05-08

算法与数据结构试验5.docx_第1页
算法与数据结构试验5.docx_第2页
算法与数据结构试验5.docx_第3页
算法与数据结构试验5.docx_第4页
算法与数据结构试验5.docx_第5页
资源描述:

《算法与数据结构试验5.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验题目实验5姓名学号专业实验时间实验地点T704实验成绩实验性质√验证性□设计性□综合性教师评价:□实验过程正确;□实验内容提交□实验步骤合理;□实验结果正确;□操作正确;□报告规范;其他:评价教师签名:一、实验项目内容补充代码1、代码://顺序栈#include #include #include #define MAX_SIZE 255typedef struct{int id;char name[50];  //char name[50];}ElementType;typedef struct 

2、SeqStack{ElementType *top;     //栈顶(数组中的下标),如果为-1则证明栈的长度ElementType *base;    //栈底指针int length;  //}SeqStack;//初始化栈void InitSeqStack(SeqStack &seqStack){seqStack.base = (ElementType *)malloc(sizeof(ElementType) * MAX_SIZE);if(!seqStack.base) {printf("分配空间失败!");return;}seqStack.top =

3、 seqStack.base;seqStack.length=0;}//向栈中压入元素,返回压入的结果(true、false)int PushSeqStack(SeqStack &seqStack,ElementType element){if(seqStack.top - seqStack.base == MAX_SIZE){printf("压栈失败,栈已满");return 0;}*(seqStack.top) = element;seqStack.top++;seqStack.length++;    return 1;}//以指针方式返回出栈的元素,返

4、回值为出栈的结果int PopSeqStack(SeqStack &seqStack,ElementType &element){if(seqStack.top == seqStack.base){printf("空栈,出栈失败! ");return 0;}seqStack.top--;element = *(seqStack.top);printf("当前出栈元素:%dt%s",element.id,element.name);seqStack.length--;    return 1;}/*清空栈*/void ClearSeqStack(SeqSt

5、ack &seqStack){seqStack.top = seqStack.base;seqStack.length = 0;}/*栈是否为空 :*//*返回栈顶元素*/ElementType GetTopStack(SeqStack &seqStack){if(seqStack.top != seqStack.base);{return *(seqStack.top -1);}}ElementType datas[] = {{1,"韦小宝"},{2,"韦虎头"},{3,"韦春花"},{4,"韦铜锤"}};void TestSeqStack(){SeqSta

6、ck stack;ElementType element;InitSeqStack(stack);for(int i = 0;i < 4;i++){printf("当前入栈:%dt%s",datas[i].id,datas[i].name);PushSeqStack(stack,datas[i]);}element = GetTopStack(stack);printf("取栈顶的元素,当前栈顶元素为:%dt%s",element.id,element.name);PopSeqStack(stack,datas[0]);for(int j = 

7、0;j < stack.length;j++){stack.top--;element = *(stack.top);   //stack.top - j - 1printf("当前栈内元素有:%dt%s",element.id,element.name);}free(stack.base);}void main(){TestSeqStack();}#includeintmain(){inta[1001],b[1001];//a数组存放A方向顺序编号的1-n的车厢b数组存放特定顺序进入B方向铁轨的车厢编号intn,i,j,k;//n

8、表示车厢while(scanf("%d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。