顺序表链表题库Word文件下载.docx

上传人:b****1 文档编号:14068279 上传时间:2022-10-17 格式:DOCX 页数:16 大小:23.24KB
下载 相关 举报
顺序表链表题库Word文件下载.docx_第1页
第1页 / 共16页
顺序表链表题库Word文件下载.docx_第2页
第2页 / 共16页
顺序表链表题库Word文件下载.docx_第3页
第3页 / 共16页
顺序表链表题库Word文件下载.docx_第4页
第4页 / 共16页
顺序表链表题库Word文件下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

顺序表链表题库Word文件下载.docx

《顺序表链表题库Word文件下载.docx》由会员分享,可在线阅读,更多相关《顺序表链表题库Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。

顺序表链表题库Word文件下载.docx

19.在顺序表中查找某个元素时,需要将当前元素与要找的元素进行若干次的比较,算法经常用while循环来实现,while里面的条件是没找完且()。

20.在顺序表中查找某个元素时,需要将当前元素与要找的元素进行若干次的比较,算法经常用while循环来实现,while里面的条件是()且没找到。

21.如果要将两个升序排列的整型顺序表a中的元素合并到b中(b的空间足够大),合并后表中元素依然升序排列,可以通过多次调用查找函数查找插入位置,再调用()函数来实现插入。

22.若要将一个整型的顺序表拆分为一个存放正数,另一个存放非正数的两个顺序表,存放正数的顺序表用原来的表,时间复杂度为()。

23.顺序表中查找某个元素时,从前到后查找与从后到前查找的时间复杂度()同。

二、简答题

1.下列算法完成在顺序表SeqL的第i个位置插入元素x,正常插入返回1,否则返回0或-1,请在空的下划线上填写合适的内容完成该算法。

//表中最多可以放置MAXLEN个元素

intseq_ins(SeqList*SeqL,inti,DataTypex)

{intj;

if()/*表满*/

{printf("

thelistisfull\n"

);

return0;

}

elseif(i<

1||i>

SeqL->

len+1)/*位置不对*/

thepositionisinvalid\n"

return-1;

else/*正常插入*/

{for(j=SeqL->

len;

j>

=i;

j--)

/*元素后移*/

/*插入元素*/

(SeqL->

len)++;

/*表长加1*/

2.下列算法完成删除顺序表SeqL的第i个元素,元素类型为DataType,其值通过参数px返回,请在空的下划线上填写合适的内容完成该算法。

intseq_del(SeqList*SeqL,inti,)

{intj;

if(SeqL->

len==0)/*表空*/

thelistisempty\n"

return0;

}

elseif()/*位置不对*/

\nthepositionisinvalid"

else/*正常删除*/

{*px=SeqL->

data[i];

/*删除元素通过参数px返回*/

for(j=i+1;

j<

=SeqL->

j++)

;

/*元素前移*/

;

/*表长减1*/

return1;

3.简述什么是顺序存储结构,顺序存储结构的优缺点都有哪些。

4.设有一整型顺序表L,元素从位置1开始存放,下列算法实现将以第一个元素为基准,将其放置在表中合适的位置,使得其前面的元素都比它小,后面的元素均大于等于该元素。

请在空的下划线上填写合适的内容完成该算法。

voidpart(SeqList*L)

{;

/*循环变量声明*/

intx;

/*将第一个元素置入x中*/

for(i=2;

i<

=L->

i++)

if()/*当前元素小于基准元素*/

{L->

data[0]=L->

/*当前元素暂存在0位置*/

for(j=i-1;

=1;

j--)/*当前元素前面所有元素后移*/

L->

data[j+1]=L->

data[j];

/*当前元素从0位置移到最前面*/

}

5.设有一整型顺序表L,元素从位置1开始存放,下列算法实现将以第一个元素为基准,将其放置在表中合适的位置,使得其前面的元素都比它小,后面的元素均大于等于该元素。

{inti,j;

i=1;

/*i指向第一个位置*/

j=L->

/*j指向最后一个位置*/

data[0]=L->

data[1];

/*将基准元素暂存在0位置*/

while()

{while((L->

data[j]>

=L->

data[0])&

&

(i<

j))j--;

/*j位置元素大于基准元素且i<

j时j前移*/

if(i<

j)

{L->

data[i]=L->

data[j];

i++;

while((L->

data[i]<

j))i++;

/*i位置元素小于基准元素且i<

j时i后移*/

j)

{

/*将基准元素放在i位置*/

四、完整程序设计

1.在顺序存储结构的职工工资表中,职工工资信息包括:

职工号(no)、姓名(name)、职称(pro)、工资(sal)等四项信息,请编写一完整的程序,实现以下功能:

(1)创建信息表:

从键盘读入所有职工的信息。

(3分)

(2)删除:

给定职工号,删除该职工的信息。

(6分)

(3)修改:

对职称为“教授”的职工工资加100。

(4分)

(4)在显示器(屏幕)上显示所有职工的各项信息。

(5)主程序以菜单的方式调用以上功能。

元素类型及顺序表类型定义如下:

typedefstruct

{charno[8],name[10],pro[6];

floatsal;

}DataType;

{DataTypedata[MAXLEN+1];

intlen;

}SeqList;

2.图书管每本图书包含:

书号(no)、书名(name)、现存量(newnum)、总库存量(sumnum)、单价五项信息,编写完整程序通过顺序表实现:

(1)初始化:

录入现有的所有图书的五项信息。

(3分)

(2)借书:

每本书每次只能借一本,如果库中有该书,则允许借阅并使该书的现存量减1,否则给出相应提示信息。

(3)价值估算:

统计库中所有书的价钱。

价钱为所有书的单价乘以库存量的累加和。

(4)显示:

显示图书管所有藏书信息。

元素类型及顺序表类型定义2分。

3.设有两个整型顺序表L1,L2,其元素值递增有序存放,请定义该顺序表的元素类型及表类型(2分);

设计以下自定义函数:

(1)录入顺序表中所有元素的值。

(2)将顺序表L1,L2合并为到另外一个顺序表L3中,L3中的元素非递减有序排列。

(8分)

(3)输出顺序表中元素的值。

主函数通过调用以上函数实现两个表的合并并显示合并结果。

4.有一个职工基本信息管理,职工信息包含:

职工号、姓名、性别;

编写完整程序,实现如下功能:

(1)录入函数input:

从键盘读入职工信息。

(2)删除函数delete:

给定职工号,删除该职工的信息。

(5分)

(3)插入函数insert:

假定表中职工信息按职工号升序排列,任意给定一职工信息,使得插入后依然有序。

主函数以菜单形式调用以上功能,类型定义2分,主函数4分。

5.有一个学生信息包含:

学号no〈主关键字〉;

姓名name;

英语成绩score。

定义学生信息类型DataType及顺序表类型SeqList;

(1)录入函数input:

从键盘读入学生信息。

(2)查找函数search:

任意给定一个学号,查找其英语成绩,将其成绩通过函数返回,若找不到,返回-1。

假定表中学生信息按学号升序排列,任意给定一学生信息,使得插入后依然有序。

6.设有一个超市的库存情况如下表1所示:

表1超市商品信息

商品编号

商品名称

价格

库存量

10110001

作业本

1.2

20

10110002

铅笔

1.0

10

10110003

钢笔

0.5

30

10110004

铅笔刀

5

编写完整程序实现:

(1)从键盘输入货物信息并将其放在顺序表中。

(4分)。

(2)假定商品信息按货号升序存放,任意插入一商品信息,要求按货号有序插入到表中。

(3)任意给定一个商品编号,查找其商品名称、价格和库存量,如果存在该商品输出并返回1,否则返回0。

主函数以菜单形式调用以上功能,类型定义2分,主函数4分。

7.有一个房产信息管理系统,房产信息包含:

门牌号、户主、电话号码、面积。

编程实现如下功能(要求用顺序表存储):

(1)编写一个初始化函数input:

从键盘读入房产基本信息。

(2)编写一个取暖费用计算函数cost:

任意给定一门牌号,根据门牌号进行查询,找到时,返回应缴纳取暖费,否则返回0,并且给出提示信息。

计算公式为:

每户应缴纳费用=面积*4.5元/m2。

(3)编写一排序函数sort:

按门牌号升序排列。

(4)编写一个函数output:

输出所有面积低于90平方米住户的名称。

8.有一个学生信息包含:

英语成绩english,计算机成绩comp,数学成绩math。

定义学生

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

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

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