数据结构顺序栈验证实验报告.pdf

上传人:大张伟 文档编号:5730660 上传时间:2020-07-25 格式:PDF 页数:11 大小:119.88KB
返回 下载 相关 举报
数据结构顺序栈验证实验报告.pdf_第1页
第1页 / 共11页
数据结构顺序栈验证实验报告.pdf_第2页
第2页 / 共11页
数据结构顺序栈验证实验报告.pdf_第3页
第3页 / 共11页
数据结构顺序栈验证实验报告.pdf_第4页
第4页 / 共11页
数据结构顺序栈验证实验报告.pdf_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《数据结构顺序栈验证实验报告.pdf》由会员分享,可在线阅读,更多相关《数据结构顺序栈验证实验报告.pdf(11页珍藏版)》请在三一文库上搜索。

1、 数据结构实验报告数据结构实验报告 顺序栈操作验证(参考)顺序栈操作验证(参考) 专业: 学号: 姓名: 一、顺序栈操作验证一、顺序栈操作验证 1. 实验目的实验目的 掌握栈的顺序存储结构; 验证栈的操作特性; 掌握栈的基本操作实现方法。 2. 实验内容实验内容 建立含有若干个元素的顺序栈; 对已建立的顺序栈实现入栈、出栈、判栈空和判栈满等基本操作。 3.设计与编码设计与编码 #include #include #define MAX_STACK 120 /栈的最大数据元素数目 typedef struct stack char itemMAX_STACK; /存放栈中数据元素的存储单元 in

2、t top; /栈顶指针 STACK; void INitStack(STACK *S) S- top=- 1; int StackEmpty(STACK *S) /判断栈是否为空 if (S- top=- 1) return 1; else return 0; void GetTop(STACK *S,int *item) /获取栈顶元素 if (StackEmpty(S) printf(Stack is emptyn); return; else *item=S- itemS- top; STACK * Push(STACK *S,char item) /入栈 if (S- top=MAX

3、_STACK- 1) printf(Stack is fulln); return NULL; else S- item+S- top=item; return S; STACK * Pop(STACK *S,int *item) /出栈 if (StackEmpty(S) printf(Stack is emptyn); return NULL; else *item=S- itemS- top- - ; return S; void Print(STACK *S) int i; for(i=0;itop;i+) printf(%c,S- itemi); printf(n); void ma

4、in() struct stack *S=(struct stack *)malloc(sizeof(struct stack); char ch; INitStack(S); printf(请输入原字符串:); while(ch=getchar()!=n) /入栈 Push(S,ch); printf(栈顶元素为:); GetTop(S, putchar(ch); printf(n); printf(字符串逆置输出:); while(!StackEmpty(S) /出栈 Pop(S, putchar(ch); putchar(n); 4.运行结果运行结果 二、二、 数制转换问题数制转换问题

5、1. 问题描述问题描述 对于输入的任意一个非负十进制整数,输出与其等值的其他进制数(二进制、八进制或十六 进制)。 2. 任务要求任务要求 建立模型,确定存储结构; 对任意十进制数,实现进制转换问题。 3.设计与编码设计与编码 主要实现代码如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace 进制

6、转换器 public partial class MainFrm : Form public MainFrm() InitializeComponent(); private void MainFrm_Load_1(object sender, EventArgs e) txtStart.Focus(); / / 十进制转换为八进制 / / / private void radio_dto_Click_1(object sender, EventArgs e) txtEnd.Text = ; if (txtStart.Text.Length != 0) / TODO: 十进制转为八进制。 In

7、t32 i; try i = Convert.ToInt32(txtStart.Text.Trim(); lblTitle.Text = 十进制转为八进制; txtEnd.Text = Convert.ToString(i, 8); catch MessageBox.Show(请输入合法的十进制数, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); else MessageBox.Show(请提供转换数据!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); txtStart.Focus()

8、; / / 十进制转换为十六进制 / / / private void radio_dth_Click(object sender, EventArgs e) txtEnd.Text = ; if (txtStart.Text.Length != 0) / TODO: 十进制转换为十六进制。 Int32 i; try i = Convert.ToInt32(txtStart.Text.Trim(); lblTitle.Text = 十进制转换为十六进制; txtEnd.Text = Convert.ToString(i, 16); catch MessageBox.Show(请输入合法的十进制

9、数, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); else MessageBox.Show(请提供转换数据!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); txtStart.Focus(); / / 十进制转换为二进制 / / / private void radio_dtb_Click(object sender, EventArgs e) txtEnd.Text = ; if (txtStart.Text.Length != 0) / TODO: 十进制转换为二进制。 Int

10、32 i; try i = Convert.ToInt32(txtStart.Text.Trim(); lblTitle.Text = 十进制转换为二进制; txtEnd.Text = Convert.ToString(i, 2); catch MessageBox.Show(请输入合法的十进制数, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); else MessageBox.Show(请提供转换数据!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); txtStart.Focus()

11、; / / 八进制到十进制 / / / private void radio_otd_Click(object sender, EventArgs e) txtEnd.Text = ; if (txtStart.Text.Length != 0) / TODO: 八进制到十进制。 try lblTitle.Text = 八进制到十进制; txtEnd.Text = Convert.ToString(Convert.ToInt32(txtStart.Text.Trim(), 8);/八进制转为十进制 catch MessageBox.Show(请提供合法的八进制数, 提示, MessageBox

12、Buttons.OK, MessageBoxIcon.Warning); else MessageBox.Show(请提供转换数据!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); txtStart.Focus(); / / 十六进制到十进制 / / / private void radio_htd_Click(object sender, EventArgs e) txtEnd.Text = ; if (txtStart.Text.Length != 0) try / TODO: 十六进制到十进制。 lblTitle.Text = 十六

13、进制到十进制; txtEnd.Text = Convert.ToString(Convert.ToInt32(txtStart.Text, 16); catch MessageBox.Show(请提供合法的十六进制数!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); else MessageBox.Show(请提供转换数据!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); txtStart.Focus(); / / 二进制到十进制 / / / private void radio_b

14、td_Click(object sender, EventArgs e) txtEnd.Text = ; if (txtStart.Text.Length != 0) try / TODO: 二进制到十进制。 lblTitle.Text = 二进制到十进制; txtEnd.Text = Convert.ToString(Convert.ToInt32(txtStart.Text, 2); catch MessageBox.Show(请提供合法的二进制数!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); else MessageBox.Sh

15、ow(请提供转换数据!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); txtStart.Focus(); private void reset_Click(object sender, EventArgs e) txtStart.Text = ; txtEnd.Text = ; txtStart.Focus(); private void close_Click(object sender, EventArgs e) this.Close(); 4.运行结果运行结果 1) 不输入数据,软件会温馨提示 2)输入数据选择转换模式 3)测试完成,结果正确

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1