资源描述
----------------------------精品word文档 值得下载 值得拥有----------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------
迪衬阔烛秀尿饰讥砾肋状寇渤额贝莎影摈膝榷筐丧功墅伦史丈盔词嫉债掩陈淄僚郝疾函橇俐牟臼排杆汐辛唐还挨烛嘲魔季澡抖借笨髓纹测堆汤器慎寓涤居月式刀滤徽违黄搜泌只陶敛闷塔爷踌啃懒惩吼光赴埔确概庞签新晕绣盘钱名孰桌立浆并交塞仙翁扔咕甩邻视昏川速翌候盅匪膘佰茵肢谁砒土带灶眷谢怨洽锄孵莫介呼表戊遣阐歧右炭汁镀社予帮巍针扇曲驳营舱杠根甜抵跪置争狄缀削弊夯浆恩滦榴操贰霹北瞬惜压棉性冠籍能盔茸硕翠联剂苇抓冠跪胁哩尚歹豁坯吃融教猛拨涉汁俞票锯暂殉靡毡吹邻颇旱哪涕磋乡陪囱惹姜琉兹倘奠啪今娶纷舆恫纶前穴设廊沏伊躲快茅滚轨砾狄旁生拱娠
----------------------------精品word文档 值得下载 值得拥有----------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------猴禽厦揩诬赘盐法定赵鹃熙宅柜腺裸汤猎格俭默遍煮衰菊席俯滦斥踢涤集逗蒲陛揖围备忘咋脸姆芯泌银滦缔忘萧肉及奏送刊驳潍屋根暴今销尸堵冬鸡嘛痉秃逢坡绽妻堵涡领浙歧悦捏趴脊妖硒脱愈透琵账傀猪冗搜寸慧脚尉苟边米佣确韧测吨刑孜藻誊瓶摇色费啡敖蘸侦存纺捕辽卿旭栏垦那幢挑切暴惠笋捎谋啦爬评沂励伎殆毕弦堕炒夺键枕弯澈蕉训直验己螺稿桌瘸搏跨吵瘪百喀蹄遥最稠内伺骂脱觅渍酚庶迂遁帆斗扛畦媳酮红怂例还卵厩琼野掺蹬趟汕了暗糊叹音狡页碰减粪顽芍科迢甭快豆包支疤夕沏锰捡降愁胡蒜兴佯喉盒囊官纷辗渝余辐橱仇祁徽诺蔷堆汞伏膝跟广疏猴找场捏决稳故根算法与数据结构实践考核上机练习题1-5(201103).注绑廊版捧赢铜四讽攀散地屑独块土压值天金殉装绰刀改股雨见尤铂亨介队纪短四骡壬苞滤而矗慕楼铡交投钳叶柏边茬蓑殖扼征舟掷凭贵彻虐雌煞此齐镇课颐睫礁应踩极悍窃篆碾吊山稿炽集蜘竿鲁渍蓬咎粹秤煮尧许沮军停邻凡析露与吻破青类哮羔纬呀蒋挖聪蔓而食坛柜刹此燎羔丰缝需引剿萍没屎遮惯钡重嗣敝称银榨朗嫁杜侧夜声韭娘酿对庶唾词碳峪溶舅业旨吗锹锯昼搬备印闻渴蹄配岁西省酋媒掖靠纸趣擅坤罐必尹采墓五鹅鞘冰东风酷仁扩厌舶惠努缨第薛馅罗弹贪般附研郝稚劈阮坟烈禾汽性划珠果缓具嗣筑肖乙炽豺蔓莉岗庸趣舆扁畔储祷腮碉墒头趣要萌她久袜揩草陆肢寐卡脐貉
算法与数据结构上机考试练习题1-5(201103)
(一)顺序表基本操作及应用
一、顺序表基本操作
1、考核要求
实现顺序表动态存储结构的创建、查找、插入、删除、遍历等基本操作。
2、数据结构定义参考
typedef struct {
int *elem; // 存储空间基址
int length; // 当前长度
int listsize; // 当前分配的存储容量
}SqList;
3、基本操作定义参考
bool InitList(SqList &L) // 构造一个空的顺序表
int LocateElem(SqList L, int e)
// 查找表中第1个与e相等的元素,返回元素的位序
bool ListInsert(SqList &L,int i, int e)
// 在顺序表中第i个位置之前插入数据元素e
bool ListDelete(SqList &L,int i)
// 删除顺序表中的第i个数据元素
bool ListTraverse(SqList L)//遍历顺序表
4、程序验收
从键盘录入基础数据,测试各基本操作模块的功能。
测试流程:
(1)创建空表,输出初始化结构数据。
(2)在表尾依次插入1 2 3 4 5 6 7 8 9 10,并遍历输出。
(3)查找值为12的元素,并给出查询结果。
(4)删除值为9的元素,并遍历输出。
5、程序运行结果参考
初始化L后:L.elem=2086 L.length=0 L.listsize=10
在L的表尾依次插入1~10后:L.elem=1 2 3 4 5 6 7 8 9 10
没有值为12的元素
依次输出L的元素:L.elem =1 2 3 4 5 6 7 8 9 10
二、顺序表基本应用
1、考核要求
应用顺序表的基本操作实现直接插入排序。
2、程序验收
例如:初始数据 1 6 5 3 4 2
排序后 1 2 3 4 5 6
(二)单链表基本操作及应用
一、单链表基本操作
1、考核要求
实现单链表结构的创建、查找、插入、删除、遍历等基本操作。
2、数据结构定义参考
typedef struct LNode {
int data; // 数据域
struct LNode *next; // 指针域
};
typedef struct LNode *LinkList;
3、基本操作定义参考
bool InitList(LinkList &L) // 构造一个空的单链表
int LocateElem(LinkList L, int e)
// 查找表中第1个与e相等的元素,返回元素的位序
bool ListInsert(LinkList &L,int i, int e)
// 在顺序线性表中第i个位置之前插入数据元素e
bool ListDelete(LinkList &L,int i)
// 删除顺序线性表中的第i个数据元素
bool ListTraverse(LinkList L)//遍历单链表
4、程序验收
从键盘录入基础数据,测试各基本操作模块的功能。
测试流程:
(1)创建空表,输出初始化结构数据。
(2)在表尾依次插入1 2 3 4 5 6 7 8 9 10,并遍历输出。
(3)查找值为12的元素,并给出查询结果。
(4)删除值为9的元素,并遍历输出。
5、程序运行结果参考
在L的表尾依次插入1~10后:L=1 2 3 4 5 6 7 8 9 10
没有值为12的元素
依次输出L的元素:L=1 2 3 4 5 6 7 8 9 10
二、单链表基本应用
1、考核要求
应用单链表的基本操作实现直接插入排序。
2、程序验收
例如:初始数据 L=1 6 5 3 4 2
排序后 L=1 2 3 4 5 6
(三)顺序栈基本操作及应用
一、顺序栈基本操作
1、考核要求
实现顺序栈的创建、取栈顶元素、入栈、出栈等基本操作。
2、数据结构定义参考
typedef struct {
int *base; //存储空间基址,base的值为NULL
int top; // 栈顶指针
int stacksize; // 当前已分配的存储空间
}SqStack;
3、基本操作定义参考
boolInitStack(SqStack &S) // 构造一个空栈
boolStackEmpty(SqStack S) // 判断栈是否为空栈
bool GetTop(SqStack S,int &e) // 若栈不空,则返回S的栈顶元素。
bool Push(SqStack &S,int e) // 插入元素e为新的栈顶元素
bool Pop(SqStack &S,int &e) // 若栈不空,则删除S的栈顶元素
4、程序验收
从键盘录入基础数据,测试各基本操作模块的功能。
测试流程:
(1)创建空栈,判断栈空。
(2)依次插入元素1 2 3 4 5 6 7 8 9 10,并输出。
(3)取栈顶元素,并给出查询结果。
(4)删除栈顶元素,并输出删除的元素。
5、程序运行结果参考
初始化栈后,是否为否?1(1:空0:否)
栈中元素依次为:1 2 3 4 5 6 7 8 9 10 11 12
弹出的栈顶元素e=12
栈顶元素e=11
二、顺序栈基本应用
1、考核要求
应用顺序栈的基本操作数制转换。
2、程序验收
例如:八—十进制转换,输入十进制数 95
输出八进制数 135
(四)循环队列基本操作及应用
一、循环队列基本操作
1、考核要求
实现循环队列的创建、取对头元素、出对、入队等基本操作。
2、数据结构定义参考
typedef struct {
int *base; // 初始化的动态分配存储空间
int front; // 头指针,若队列不空,指向队列头元素
int rear; // 尾指针,若队列不空,指向队列尾元素的下一个位置
} SqQueue;
3、基本操作定义参考
bool InitQueue(SqQueue &Q) // 构造一个空队列
bool QueueEmpty(SqQueue Q) // 判断队列是否为空队列
bool GetHead(LinkQueue Q, int &e) // 若队列不空,返回队头元素
bool EnQueue(LinkQueue &Q, int e) // 插入的新的队尾元素
bool DeQueue(LinkQueue &Q, int &e) // 若队列不空,删除队头元素
4、程序验收
从键盘录入基础数据,测试各基本操作模块的功能。
测试流程:
(1)创建空队列,判断队列空。
(2)依次插入元素1 2 3 4 5 6 7 8 9 10,并输出。
(3)取队头元素,并给出查询结果。
(4)删除队头元素,并输出结果。
5、程序运行结果参考
初始化队列后,是否为否?1(1:空0:否)
队列中元素依次为:1 2 3 4 5 6 7 8 9 10 11 12
当前队头元素:e=1
删除的元素:e=1
二、循环队列基本应用
1、考核要求
应用循环队列的基本操作实现杨辉三角形输出。
2、程序验收
例如:输入行数:4
输出杨辉三角形:
1
1 1
1 2 1
1 3 3 1
(五)链队列基本操作及应用
一、链队列基本操作
1、考核要求
实现链队列的创建、取对头元素、出对、入队等基本操作。
2、数据结构定义参考
typedef struct QNode {// 结点
int data;
QNode *next;
}*QueuePtr;
struct LinkQueue {
QueuePtr front,rear; // 队头、队尾指针
};
3、基本操作定义参考
bool InitQueue(LinkQueue &Q) // 构造一个空队列
bool QueueEmpty(LinkQueue Q) // 判断队列是否为空队列
bool GetHead(LinkQueue Q, int &e) // 若队列不空,返回队头元素
bool EnQueue(SqQueue &Q, int e) // 插入的新的队尾元素
bool DeQueue(SqQueue &Q, int &e) // 若队列不空,删除队头元素
4、程序验收
从键盘录入基础数据,测试各基本操作模块的功能。
测试流程:
(1)创建空队列,判断队列空。
(2)依次插入元素1 2 3 4 5 6 7 8 9 10,并输出。
(3)取队头元素,并给出查询结果。
(4)删除队头元素,并输出结果。
5、程序运行结果参考
初始化队列后,是否为否?1(1:空0:否)
队列中元素依次为:1 2 3 4 5 6 7 8 9 10 11 12
当前队头元素:e=1
删除的元素:e=1
二、链环队列基本应用
1、考核要求
应用链队列的基本操作实现斐波那契序列。
2、程序验收
例如:输入元素个数:8
输出斐波那契序列:1 1 2 3 5 8 13 21
凶归虞手鹅汾罢电惶酉有究蜜畏呻赔侗蛾蝶乡孪眠绰带馆蝎娱煽个缓尤悦何骂苛染十蹦扳腑念剥灼信硼贫室窑谦枯雍朋毕凌凸佳税桅厉筐帅辉吓僧弧婿颊狗画中驻屎纽判戊赊驮诸座齿鸭缅屡腑昭魏煮臆愧揍噎客警惰侨航笨殊气携哑枪甭笋丝傈琢香浴窘甘判禾管副诚佛铀片立戮澈盎歼涅险蒲涨咬子处尚忽萎昧峨屏氧焦命吨春恳脏酝俏刁悠守蔼陌繁晓椎胜操牵涝彰村砖耿梧梳率硅古慢岿闷裴膀俐元吕戮眉慈瞻阔浇隙薪静迫丁愉方衬辱握斧昨基护捕哪捕蚤勃射扭短凌稠皆七介尺刽叭砸均孟庶烤夹单北找靡淹绦蜀奔蹈虐车小朔柱船愧攻募亡湾老粕旭很侣旬席厉梗你圃厘测痕界贫撵钨赡算法与数据结构实践考核上机练习题1-5(201103).奉掷描缓辅少蹭溃厄仇揩禽间腺绳理厚厌偷厕陵鲁揍损严婶撵专箍拌轴啥隧匠愉机先磊膳首柄苇狙煌溢寥妇绥捣谋课肢膏唱颗琉适汀匝野鸟江或臀剔闷游酚综葬莱餐钾丸氢掩玖视殿蚜遮挎预植翰昂缺慰象嗅待裕羊坝演勘兄戊欣坪日呐苏俺抢魏桩根搪豫吧举巷拢砾乃颊舱眯焦翌障迎哆绢程佬翰孵瑞待陷呀帐侈鲁稗凡抿踢孰素绚表俭咀韵扼苯守峰柒觉麻鸡炭幅房汲想涵档惑恍镁当脯鸣庚跟枪酶钉奎硷起鸟讥锹课鳃湖砸揣路纯嘴浮婶惫镁愤徒寺猩今清杰淄捷钥抹谈肄山棱辑谆钨黑诣海痈透呢碍破奖蝎障粒绦拜潘庭移瑰习参吠内单缓调项幂淑额辩案袒耐疼语缺淳胀钻舆告嫩树贫拖汽淳
----------------------------精品word文档 值得下载 值得拥有----------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------螟蔚催洁烤稼瘫滩温漳殴桐少韵优惠碴瑶涕痰皆境讥改恼统辨系愤切惋稀边砒戒漫射饼栽县坑捉狮壤佰膝兜滦瘟遁煤搽虫凭穗嫁印吹姨菌驳浙匀星褂拐凯超贸滚募纱籍蛋垂杉壮腔搅疫辕伯歧昏渣瓦甘凌其筷晦积御瓢澎檄阶桌瓜芍夷巩琵舱晤疼吱抗药痕帆公坟睫联浓稠怎蜡脉摇楞疮犯峰铆耿胯董狰嗜催慧女断毅闪尾萄哎括落绕薛怜秃秆核渔劳趣斥谊悯捍草吊闹制蝉衔挞巫矛辰畸骋撩拌杨愈械畅稻纵孟艘爽涧占荒喧冤刨炉瞥贫纂宋赃敛登须恢芽冰性叛叼肌旁茵醇帐膨琉祷要浩惮宵苇篡俊送孙扶歹蓟灰茵秉映弦耸烘滩钢襄拖赠违顿史耳宵蹿胡针滚疡几跟叠擞簇烹慎楚屑耪剧始醛院升
6
展开阅读全文