数据结构课程设计报告——队列问题.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计报告——队列问题

海 南 大 学 《数据结构》课程设计 学 号: 2010 姓 名: 年 级: 2010级 学 院: 经济与管理 专 业: 分 数: 队列问题课程设计报告 程序分析和设计 关于队列存储,就像日常生活中排队一样,先进先出,相对来说是比较容易理解的。构造思路也相对简单,主要分为三大块: 主函数。主要功能是:定义函数,分析菜单选项,输入自定义字符串进入队列。 主函数中,首先通过scanf函数与printf函数输入并打印出用户输入的原始字符串。然后通过do-switch语句定义菜单。 插入函数。主要功能是在队列中插入数据。由于队列是先进先出,插入的数据只能插入队列的末尾。若定义插入变量为b,字符串长度为len,则插入语句为:a[len]=b。 删除函数。主要功能是删除数据。同样,由于队列是先进先出形式的,所以删除的数据只能是现有队列的第一位。 要删除的数据即为b=a[0](同样定义要删除的数据变量为b)。然后再用for循环语句结合数组,输出删除数据后的字符串。即把队列中的后一个字符赋给前一个位置,即a[i]=a[i+1],i从i=0开始,然后i++,到ilen为止(len为队列字符串长度)。 流程图 源程序清单 #includestdio.h #includestring.h void ins(); /*定义插入函数*/ void del(); /*定义删除函数*/ char a[50]; /*定义数组,便于输入字符*/ void main() { int m; /*定义整形变量m,便于输入选择项*/ printf(************请 输 入 字 符 串 进 入 队 列************\n); gets(a); /*输入字符串进入队列*/ do /*do-while语句,菜单*/ { printf(************ 请 选 择 操 作 选 项 ***************\n); printf(1.插入数据\n2.刪除数据\n3.退出程序\n); scanf(%d,m); switch(m) { case 1:ins();break; case 2:del();break; case 3:break; } }while(m!=3); } void ins() /*插入函数*/ { int len; char b; printf(请输入要插入的数据:\n); scanf(%c,b); scanf(%c,b); len=strlen(a); a[len]=b; a[len+1]=\0; printf(\n插入新数据后的队列为:\n); puts(a); printf(\n); } void del() /*删除函数*/ { int i,len; char b; b=a[0]; len=strlen(a); for(i=0;ilen;i++) { a[i]=a[i+1]; } a[len]=\0; printf(删除的数据为:\n %c\n,b); printf(删除数据后的队列为:\n); puts(a); printf(\n); } 调试过程 测试数据及结果 测试数据:abcdefg 测试结果: 选择1,输入插入数据“p”,输出结果为:“插入新数据后的队列为:a

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档