第三章 栈和队列.ppt

  1. 1、本文档共116页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数 据 结 构 ——C语言描述 青海师范大学计算机学院 ★ 第三章 栈和队列 ★ 队的实现方式是本节重点,关键是掌握入队和出队操作。具体实现依存储结构(链队或顺序队)的不同而不同。 1.链队列 2.顺序队(静态实现) 2.顺序队(动态实现) (A) r-f (B)(n+f-r)% n (C)n+r-f (D) (n+r-f)% n 数据存储方式 二维数组存储 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 2 1 0 0 0 0 1 3 3 1 0 0 0 1 4 6 4 1 0 数据操作方式 易于实现与输出杨辉三角。 具体实现 #define Maxsize 100 main() { int a[Maxsize][Maxsize]={0},i,j,n; a[0][1]=0;a[0][0]=1; scanf(%d,n); for(i=1;i=n;i++) { for(j=1;j=n;j++) a[i][j]=a[i-1][j]+a[i-1][j-1]; } ...... } 本章小结 作业: 教材及参考资料 教材 《数据结构---C语言描述》耿国华 高等教育出版社 参考资料 《数据结构---C语言描述》严蔚敏 高等教育出版社 《算法设计与分析---C++语言描述》陈慧南 电子工业出版社 《数据结构》张建林 刘玉铭 申贵成 机械工业出版社 《算法设计与分析》陈慧南 清华大学出版社 《数据结构习题解析》陈慧南 清华大学出版社 算法说明:向循环队列的队尾插入一个元素 分 析: (1) 插入前应当先判断队列是否满? if (( q . rear + 1 ) % QUEUE_MAXSIZE )==q.front) return ERROR; (2)插入动作 q.base [q.rear] = e; q.rear = ( q . rear + 1 ) % QUEUE_MAXSIZE; 2) 入队操作 队列尺寸 Status EnQueue(SqQueue q, QElemType e) {//向循环队列 q 的队尾加入一个元素 e if ( (q.rear+1) % QUEUE_MAXSIZE = = q.front ) return ERROR ; //队满则上溢,无法再入队 q.base [ q.rear ] = e; //新元素e入队 q.rear = ( q . rear + 1 ) % QUEUE_MAXSIZE; //指针后移 return OK; }// EnQueue; 队操作完整入算法 rear指针在元素入队后再加 3)出队操作 算法说明:删除队头元素,返回其值 e 分 析: (1) 在删除前应当判断队列是否空? if (q.front = q.rear ) return ERROR; (2)删除动作分析; 前面约定指针front指向队首元素的位置,故: e = q.base [ q.front ] ; q.front = ( q.front + 1 ) % QUEUE_MAXSIZE; 队列尺寸 front指针在元素出队后再加 Status DeQueue ( SqQueue q, QElemType e) {//若队列不空,删除循环队列q的队头元素, //由 e 返回其值,并返回OK if ( q.front = = q.rear ) return ERROR;//队列空 e = q.base [ q.front ] ; q.front=(q.front+1) % QUEUE_MAXSIZE ; return OK; }// DeQueue 出队操作完整算法 对这4个数据元素进行的队操作是进队2次,出队1次,再进队2次,出队1次;这时,第1次出队得到的元素是 ? ,第2次出队得到的元素是 ? 。经操作后,最后在队中的元素还有 ? 个,队尾指针指向 ? 。 解:此题用V[4]大小数组即可(V[0]~V[3] 4个单元有效) 。 例:对4个数据元素进行队操作。在进

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档