欢迎来到天天文库
浏览记录
ID:37299395
大小:332.12 KB
页数:11页
时间:2019-05-21
《数据结构顺序栈验证实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构实验报告顺序栈操作验证(参考)专业:学号:姓名:一、顺序栈操作验证1.实验目的⑴掌握栈的顺序存储结构;⑵验证栈的操作特性;⑶掌握栈的基本操作实现方法。2.实验内容⑴建立含有若干个元素的顺序栈;⑵对已建立的顺序栈实现入栈、出栈、判栈空和判栈满等基本操作。3.设计与编码#include#include#defineMAX_STACK120//栈的最大数据元素数目typedefstructstack{charitem[MAX_STACK];//存放栈中数据元素的存储单
2、元inttop;//栈顶指针}STACK;voidINitStack(STACK*S){S->top=-1;}intStackEmpty(STACK*S)//判断栈是否为空{if(S->top==-1)return1;elsereturn0;}voidGetTop(STACK*S,int*item)//获取栈顶元素{if(StackEmpty(S)){printf("Stackisempty");return;}else*item=S->item[S->top];}STACK*Push(STACK*S,
3、charitem)//入栈{if(S->top==MAX_STACK-1){printf("Stackisfull");returnNULL;}elseS->item[++S->top]=item;returnS;}STACK*Pop(STACK*S,int*item)//出栈{if(StackEmpty(S)){printf("Stackisempty");returnNULL;}else*item=S->item[S->top--];returnS;}voidPrint(STACK*S){int
4、i;for(i=0;i<=S->top;i++)printf("%c",S->item[i]);printf("");}voidmain(){structstack*S=(structstack*)malloc(sizeof(structstack));charch;INitStack(S);printf("请输入原字符串:");while((ch=getchar())!='')//入栈{Push(S,ch);}printf("栈顶元素为:");GetTop(S,&ch);putchar(ch);p
5、rintf("");printf("字符串逆置输出:");while(!StackEmpty(S))//出栈{Pop(S,&ch);putchar(ch);}putchar('');}4.运行结果二、数制转换问题1.问题描述对于输入的任意一个非负十进制整数,输出与其等值的其他进制数(二进制、八进制或十六进制)。2.任务要求⑴建立模型,确定存储结构;⑵对任意十进制数,实现进制转换问题。3.设计与编码主要实现代码如下usingSystem;usingSystem.Collections.Generic;
6、usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespace进制转换器{publicpartialclassMainFrm:Form{publicMainFrm(){InitializeComponent();}privatevoidMainFrm_Load_1(objectsender,EventArgse){txtStart.Focu
7、s();}//////十进制转换为八进制/////////privatevoidradio_dto_Click_1(objectsender,EventArgse){txtEnd.Text="";if(txtStart.Text.Length!=0){//TODO:十进制转为八进制。Int32i;try{i=Convert.ToInt32(txtStart.Text.T
8、rim());lblTitle.Text="十进制转为八进制";txtEnd.Text=Convert.ToString(i,8);}catch{MessageBox.Show("请输入合法的十进制数","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);}}else{MessageBox.Show("请提供转换数据!","提示",MessageBoxButtons
此文档下载收益归作者所有