8六简述以下算法的功能 (1)void A(Link L ) { L是无表头结点的单链表 if(L L->link) { Q=L L=L->link P=L while(P->link) P=P->link P->link=Q Q->link=NULL
第三章习题31 若按教科书311节中图31(b)所示的铁道进行车厢调度(注意:两侧铁道均为单向行驶),则请回答:(1)如果进站的车厢序列为123 ,则可能得到的出站车厢序列是什么?(2) 如果进站的车厢序列为123456,则能否得到435612和135426的出站序列,并请说明为什么不能得到或者如何得到(即写出以‘S’表示进栈和以‘X’表示出栈的栈操作序列)。37 按照四则运算加减乘除和幂运算(?
#
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级数据结构习题课马 瑞Oct. 27 2004编程技巧与常见问题关于函数特殊情况与边界情况指针内存管理代码从头说起常见错误及解决方法编程经验推荐书目关于作业关于函数为什么要写函数实现一个逻辑意义上的独立功能清晰完整独立减少重复代码代码重复3次以上应该写成函数例子:有理数格式化打印输出好的函数具有的特性通用性:可以用于解决不同
int Search_Sq(SSTable STint key)有序表上顺序查找监视哨设在高下标端{?[1].key=key?for(i=1[i].key>keyi) if(i>[i].key<key) return 0?return i}Search_Sqint Search_Bin (SSTable ST KeyTable key) { 对有序表的查找采用折半查找逐步缩小
第3章 栈和队列 练习题 一填空题1. 向量(线性表)栈和队列都是 结构可以在向量的 位置插入和删除元素对于栈只能在 插入和删除元素对于队列只能在 插入和 删除元素2. 栈是一种特殊的线性表允许插入和删除运算的一端称为 不允许插入和删除运算的一端称为 3.
栈 通常0下标端设为栈底这样空栈时栈顶指针top=-1 入栈时栈顶指针加1即s->top 出栈时栈顶指针减1即s->top--栈操作的示意图如图所示 图(a)是空栈图(c)是ABCDE 5个元素依次入栈之后图(d)是在图(c)之后ED相继出栈此时栈中还有3个元素或许最近出栈的元素DE仍然在原先的单元存储着但top指针已经指向了新的栈顶则元素DE已不在栈中了8⑸取栈顶元素562023数据结构讲
#
2n-1 n=n0n1n2=n056=e1=25161 => n0=6n1二判断题void Preorder(BinTree r) { 消去前序遍历第二个递归调用 while(r) { cout<<r->data Preorder(r->leftChild) r=r->rightChild } }四设二叉树以二叉链表表示试编写有关二叉树的递归算法统计二叉树
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级第三章 栈队列 第三章 栈队列 3.1 栈 3.2 栈的应用举例 3.3 栈与递归 3.4 队列 3.1 栈3.1 .1 栈的概念3.1 .2 栈的顺序存储和实现3.1 .3 栈的链式存储和实现3.1
违法有害信息,请在下方选择原因提交举报