- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法题目和答案
1.
根据两个有序单链表生成一个新的有序单链表,原有单链表保持不变。要求新生成的链表中不允许有重复元素。
算法如下
ListNode * Merge ( ListNode * L1, ListNode * L2 )
{//根据两个带表头结点的有序单链表L1和L2, 生成一个新的有序单链表
ListNode *first = new ListNode;
ListNode *p1 = L1-link, *p2 = L2-link, *p = first, *q;
while ( p1 != NULL p2 != NULL )
{
q = new ListNode;
if ( p1-data == p2-data )
{ q-data = p1-data; p2 = p2-link; p1 = p1-link; }
else if ( p1-data p2-data )
{ q-data = p1-data; p1 = p1-link; }
else
{ q-data = p2-data; p2 = p2-link; }
p-link = q; p = q;
}
while ( p1 != NULL )
{
q = new ListNode; q-data = p1-data; p1 = p1-link;
p-link = q; p = q;
}
while ( p2 != NULL )
{
q = new ListNode; q-data = p2-data; p2 = p2-link;
p-link = q; p = q;
}
p-link = NULL;
return first;
}
2.
设有一个线性表 (e0, e1, …, en-2, en-1) 存放在一个一维数组A[arraysize]中的前n个数组元素位置。请编写一个函数将这个线性表原地逆置,即将数组的前n个原址内容置换为 (en-1, en-2, …, e1, e0)。
数组原地逆置算法
参数表中给出数组A[ ] 及指定的数组中前n个元素,函数执行后从A[ ] 中得到数组原地逆置后的结果。
Templateclass T
void inverse ( T A[ ], int n )
{ T tmp;
for ( int I = 0; I = ( n-1 ) / 2; I++ )
{ tmp = A[I]; A[I] = A[n-I-1]; A[n-I-1] = tmp;}
}
3.
设有两个整数类型的顺序表A(有 m个元素)和B(有n个元素),其元素均以从小到大的升序排列。试编写一个函数,将这两个顺序表合并成一个顺序表C,要求C的元素也以从小到大的升序排列。
合并两个升序排列的顺序表的算法
参数表给出参加运算的三个顺序表A、B与C。从C中得到执行结果。
算法中用到顺序表的4个共有函数:Length( ) 求表的当前长度;maxLength( ) 求表的最大允许长度;getData(k) 提取第k个元素的值;setData(k) 修改第k个元素的值。
Template class T
void merge ( SeqListint A, SeqListint B, SeqListint C )
{ int m = A.Length( ), n = B.Length( ), mpn = m + n;
if ( mpn C.maxLength( ) )
{ cerr “合并后表的长度超出表的最大允许长度” endl;
exit (1);
}
int I = 0, j = 0, k = 0, av = A.getData(I), bv = B.getData(j);
while ( I m j n )
if ( av = bv )
{ C.setData(k++, av); av = A.getData(++I); }
else
{ C.setData(k++, bv); B.getData(++j); }
if ( I m )
while ( k mpn ) { C.setData(k++, av); av = A.getData(++I); }
else
while ( k mpn ) { C.setData(k++, bv); B.getData(++j); }
}
4.
已知一个带表头结点的单链表中包含有三类字符(数字字符、字母字符和其他字符),试编写一个函数,构造三个新的单链表,使每个单链表中只包含同一类字符。要求使用原表的空间,表头结点可以另辟空间。
算法如下
您可能关注的文档
- 第9届电子商务大赛试题.docx
- 第8章收益分析习题.doc
- 第9章习题集(心境障碍).doc
- 第8单元数学广角.doc
- 第9章财务会计报告测试.doc
- 第一、2周教案及反思.doc
- 第9讲 周期问题.doc
- 第一模块理论复习题.docx
- 第一、2、3章答案.doc
- 第一、7、8章的习题.doc
- 半导体二极管及其应用习题解答.. .pdf
- 卫生法律法规题库及答案2021免费 .pdf
- 口腔医学技术(师)-口腔医学技术(师)相关专业知识综合练习(精选试题).pdf
- 人音版小学三年级下册音乐精品教案()(最全).doc
- 5、心理健康教育讲座、活动资料(最全).doc
- 【42页精品】湘教版三年级下册音乐教案(最全).doc
- 人音版《小学音乐 六年级下册》全套教案、说课稿(最全).doc
- 浙江省杭州市北斗联盟2024-2025学年高一上学期期中联考历史试题含答案.pdf
- 贵州省九师联盟2024-2025学年高二上学期11月联考生物试题含答案.pdf
- 湖北部分普通高中联盟2024年高一11月期中联考物理试卷含答案.pdf
最近下载
- 安顺《建筑信息模型(BIM)》建模练习4:复制功能与创建二层模型练习(5分,需辅导教师评阅).pdf VIP
- 会计职业生涯计划书格式.pdf VIP
- 设计比选文件.doc
- 子分部工程质量验收纪要GD424.xls VIP
- 2024-2025学年小学地方、校本课程川教版可爱的四川教学设计合集.docx
- 2024年爆破作业人员安全技术培训试题(及答案).pdf
- 2023年海南省中考历史试题卷(含答案解析)+2022年及2021年中考历史试卷及答案.docx
- KCP题库整理必威体育精装版.docx VIP
- 24拱城控01:杭州市拱墅区城市建设发展控股集团有限公司公司债券2024半年度报告.PDF VIP
- 版劳动实践河北科学技术出版社三年级下册全册教案.pdf
文档评论(0)