ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:53.65KB ,
资源ID:18269085      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18269085.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计130121第二次作业Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计130121第二次作业Word文档下载推荐.docx

1、Next=p; p-Prior-next=q; B. p-next=p;Prior=p-Prior; C. q-Next=q; D. q-13、已知循环队列存储在一维数组A0n-1中,且队列非空时front和rear分别指向对头元素和队尾元素,且要求第一个进入队列的元素存储在A0处,则初始时front和rear的值分别是 B 。 A. 0, 0 B. 0, n-1 C. n-1, 0 D. n-1, n-114、某队列允许在两端进行入队操作,但仅允许在一端进行出队操作(称为输出受限的双端队列),若a, b, c, d, e元素依次进队,则不可能得到的顺序是 C 。 A. bacde B. db

2、ace C. dbcae D. ecbad15、在双向链表中间插入一个结点时,需要修改修改 D 个指针域。 A. 1 B. 2 C. 3 D. 416、在按行优先顺序存储的三元组表中,下述陈述错误的是 D 。 A. 同一行的非零元素,是按列号递增次序存储的 B. 同一列的非零元素,是按行号递增次序存储的 C. 三元组表中三元组行号是非递减的 D. 三元组表中三元组列号是非递减的17、在稀疏矩阵的三元组表示法中,每个三元组表示 D 。 A. 矩阵中非零元素的值 B. 矩阵中数据元素的行号和列号 C. 矩阵中数据元素的行号、列号和值 D. 矩阵中非零数据元素的行号、列号和值18、对特殊矩阵采用压缩

3、存储的目的主要是为了 D 。 A. 表达变得简单 B. 对矩阵元素的存取变得简单 C. 去掉矩阵中的多余元素 D. 减少不必要的存储空间19、广义表是线性表的推广,它们之间的区别在于 A 。 A. 能否使用子表 B. 能否使用原子项 C. 表的长度 D. 是否能为空20、已知广义表(a, b, c, d)的表头是 A ,表尾是 D 。 A. a B. () C. (a, b, c, d) D. (b, c, d)21、下面说法不正确的是 A 。 A. 广义表的表头总是一个广义表 B. 广义表的表尾总是一个广义表 C. 广义表难以用顺序存储结构表示 D. 广义表可以是一个多层次的结构22、若广义

4、表A满足Head(A)=Tail(A),则A为 B 。 A. ( ) B. () C. ( ),( ) D. ( ), ( ), ( )二、填空题1、对于循环向量的循环队列,求队列长度的公式为 (rear-front+n+1)%n 。2、栈的逻辑特点是 后进先出 。队列的逻辑特点是 先进先出 。两者的共同特点是只允许在它们的 两端 出插入和删除数据元素,区别是 出栈在顶端,出队列在头部 。3、链队列LQ为空时,LQ-front-next= NULL .4、在一个链队列中,若队首指针为front,队尾指针为rear,则判断该队列只有一个结点的条件为 front-next = rear 。5、设串

5、S=“Ilikecomputer”,T=“com”,则Length(S)= 13 。Index(S, T)= 5 。6、在KMP算法中,nextj只与 T 串有关,而与 S 无关。7、字符串“ababaab“的Next数组值是 0012312 。8、稀疏矩阵一般压缩存储的方式有三种,分别是 三元组表 、 带行表的三元组表 和 稀疏矩阵的链式结构 。9、二维数组M中每个元素的长度是3字节,行下标i从07,列下标j从09,从首地址&M00开始连续存放在存储器中。若按行优先的方式存放,元素M75的起始地址为 (void)&M00 + 3*70+5 ;若按列优先方式存放,元素M75的起始地址为 (vo

6、id)&M00+3*40+7 。10、广义表(a, (a, b), d, e, (i, j), k)的长度是 5 ,深度是 3 。11、设广义表A( ( ( ), (a, (b), c) )2 )1,则Cal(Cdr(Cal(Cdr(Cal(A)= (b ) 三、设有一个循环队列Queue,只有头指针front,不设尾指针,另设一个含有元素个数的计数器count,试写出相应的判断队列空、判断队列满、出队算法和入队算法。要求:1、定义相应的循环队列的型(只有头指针,没有尾指针,但有一个元素个数的计数器);2、定义该队列的四个算法:判断队列空、判断队列满、出队算法和入队算法;3、在main函数验证

7、算法的正确性。/#include using namespace std;typedef int ele;class Queue ele data10; ele* _font; int len;public: Queue() _font = data; len = 0; void push_back(ele val) data(_font-data+len)%10 = val; len+; bool full() return (len = 10); bool empty() return (len = 0); void pop_font() _font = data + (_font - d

8、ata + 1)%10; len-; int font() return *_font;int main(int argc, char *argv) Queue q; int i; for ( i = 0; i 10; i+) q.push_back(i); coutq.font()endl; q.pop_font(); couttypedef stack STACK;enum Boolean FALSE = 0, TRUE = 1Boolean check(char *s) STACK _; while (*s) switch (*s) case : case (case _.push(*s

9、); break; if (_.top() != ) return FALSE; _.pop();) default: ; +s; if (_.empty() return TRUE; else return FALSE; /return _.empty(); char *data1 = 123()owsanfak1(234sff)1faer; char *data2 = 12(3owsanfak1)234sff1faercheck(data1)endlcheck(data2)val); p = p-next; DLIST() Node* p; while (head) p = head; h

10、ead = head- delete p; void push_back(elementtype val) if (last) last-next = new Node(val,last,NULL); last = last- else head = last = new Node(val,NULL,NULL); void print_back() string str; char buff13; Node* p = last; str += (string(itoa(p-val, buff,10) + - );pre; cout (str.substr(0,str.length()-4);

11、friend ostream& operatorval, buff, 10) + p = p- out val = x) /p is not the first element if (p-pre) /p is not the second element if (p-pre- if (p-next) p-next-pre = p- Node* tmp = p- p-next = p;pre = p;next = p-pre = tmp; elsepre = NULL; return 1;#endif/main.cpp#includecstdlib#include D-list.hint ma

12、in(int argc, char* argv) DLIST list; for (int i = 0; i+) list.push_back(i); cout list endl;=我是萌萌哒的分割线= class TLIST;class RowList;const int COL = 10;const int ROW = 10;const int R_COL = COL + 1;const int R_ROW = ROW + 1;struct TNODE int row; int col; int val; TNODE(int _row,int _col,int _val):row(_ro

13、w),col(_col),val(_val)bool operator (TNODE& a, TNODE& b) if (a.row b.row) return 1; return (a.col b.col);TNODE operator +(TNODE& return TNODE(a.row,a.col,a.val+b.val);class TLIST vector s; friend int SiagonalSum(TLIST& l); TLIST() TLIST(TLIST& l) s = l.s; void push_back(TNODE data) s.push_back(data)

14、; void insert(TNODE data) vectoriterator it; for (it = s.begin(); it s.end(); it+) if (*it) col & data.row = it-row) it-val += data.val; s.insert(it, data); TLIST operator+(TLIST& TLIST ret;iterator it1 = s.begin(), it2 = l.s.begin(), end1 = s.end(), end2 = l.s.end(); while (it1!= end1 & it2 != end2

15、) if (*it1*it2) ret.push_back(*it1); +it1; if (*it2*it1) ret.push_back(*it2); +it2; ret.push_back(*it1+*it2); it1+; it2+;=end1) ret.push_back(*it1); +it1; while (it2!=end2) ret.push_back(*it2); +it2; return ret; out, TLIST& friend RowList; int col = 1, row = 1;iterator it = l.s.begin(), end = l.s.end(); whi

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1