上海交大大数据结构实验报告材料.docx
- 文档编号:3002306
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:17
- 大小:204.86KB
上海交大大数据结构实验报告材料.docx
《上海交大大数据结构实验报告材料.docx》由会员分享,可在线阅读,更多相关《上海交大大数据结构实验报告材料.docx(17页珍藏版)》请在冰豆网上搜索。
上海交大大数据结构实验报告材料
《数据结构》实验报告
说明:
本软件在win764位系统测试通过,需要安装.net3.5以上版本
七、数制转换问题
1.问题描述
对于输入的任意一个非负十进制整数,输出与其等值的其他进制数(二进制、八进制或十六进制)。
2.任务要求
⑴建立模型,确定存储结构;
⑵对任意十进制数,实现进制转换问题。
3.实验指导
(1)实验类型:
设计实验。
本实验要求同学们针对“数制转换”这个经典的问题,应用栈的存储结构,自己设计一个方案,并上机实现。
此实验的目的是培养学生对数据结构的简单应用能力。
(2)预备知识:
栈的基本定义、栈的基本操作算法、栈的存储结构。
(3)实现方法提示:
1)以十进制转换为八进制为例。
将十进制数整除8,计算过程中得到的余数依次进栈,按出栈序列输出栈中的内容即为与输入的十进制数对应的八进制数。
设Conversion函数执行数制转换的操作,对(1348)10转换为8进制的过程如下:
N
Ndiv8
Nmod8
1348
168
4
168
21
0
21
2
5
2
0
2
2)设计数制转换的算法。
4.实现方案
1)方案描述:
本方案采用C#语言实现,实现十进制与其他进制直接的转换
2)实现代码:
主要实现代码如下
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
namespace进制转换器
{
publicpartialclassMainFrm:
Form
{
publicMainFrm()
{
InitializeComponent();
}
privatevoidMainFrm_Load_1(objectsender,EventArgse)
{
txtStart.Focus();
}
///
///十进制转换为八进制
///
///
///
privatevoidradio_dto_Click_1(objectsender,EventArgse)
{
txtEnd.Text="";
if(txtStart.Text.Length!
=0)
{
//TODO:
十进制转为八进制。
Int32i;
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();
}
///
///十进制转换为十六进制
///
///
///
privatevoidradio_dth_Click(objectsender,EventArgse)
{
txtEnd.Text="";
if(txtStart.Text.Length!
=0)
{
//TODO:
十进制转换为十六进制。
Int32i;
try
{
i=Convert.ToInt32(txtStart.Text.Trim());
lblTitle.Text="十进制转换为十六进制";
txtEnd.Text=Convert.ToString(i,16);
}
catch
{
MessageBox.Show("请输入合法的十进制数","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
}
else
{
MessageBox.Show("请提供转换数据!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
txtStart.Focus();
}
///
///十进制转换为二进制
///
///
///
privatevoidradio_dtb_Click(objectsender,EventArgse)
{
txtEnd.Text="";
if(txtStart.Text.Length!
=0)
{
//TODO:
十进制转换为二进制。
Int32i;
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();
}
///
///八进制到十进制
///
///
///
privatevoidradio_otd_Click(objectsender,EventArgse)
{
txtEnd.Text="";
if(txtStart.Text.Length!
=0)
{
//TODO:
八进制到十进制。
try
{
lblTitle.Text="八进制到十进制";
txtEnd.Text=Convert.ToString(Convert.ToInt32(txtStart.Text.Trim(),8));//八进制转为十进制
}
catch
{
MessageBox.Show("请提供合法的八进制数","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
}
else
{
MessageBox.Show("请提供转换数据!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
txtStart.Focus();
}
///
///十六进制到十进制
///
///
///
privatevoidradio_htd_Click(objectsender,EventArgse)
{
txtEnd.Text="";
if(txtStart.Text.Length!
=0)
{
try
{
//TODO:
十六进制到十进制。
lblTitle.Text="十六进制到十进制";
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();
}
///
///二进制到十进制
///
///
///
privatevoidradio_btd_Click(objectsender,EventArgse)
{
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.Show("请提供转换数据!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
txtStart.Focus();
}
privatevoidreset_Click(objectsender,EventArgse)
{
txtStart.Text="";
txtEnd.Text="";
txtStart.Focus();
}
privatevoidclose_Click(objectsender,EventArgse)
{
this.Close();
}
}
}
3)测试过程:
1.不输入数据,软件会温馨提示
2.输入数据选择转换模式
3.测试完成,结果正确
十四、Huffman编码
1.问题描述
设某编码系统共有
个字符,使用频率分别为
,设计一个不等长的编码方案,输出每个字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上海交大 数据结构 实验 报告 材料