- 11
- 0
- 约1.5万字
- 约 23页
- 2016-08-29 发布于重庆
- 举报
课程设计---查找及排序
题目:查找和排序
(一)查找
需求分析
本程序实现2种查找:无序表的直接查找,顺序表的折半查找。
顺序表的数据元素都是整数。
查找程序的概要设计
1.无序表的直接查找
抽样数据类型顺序表的定义如下:
ADT SqList{
数据对象:D = {ai| ai∈ElemSet, i = 1,2,…,n,n≥0}
数据关系:R1 = {a(i-1),ai|a(i-1),ai∈D,i=2,…,n}
基本操作:
Init(SqList L)
操作结果:构造一个空的顺序表L。
insert(SqList L,int m)
初始条件:顺序表L已存在。
操作结果:在顺序表中有序插入新的数据元素m,L的长度加1。
Locate(SqList L,int e)
初始条件:顺序表L已存在。
操作结果:查找e的位置。
print(SqList L)
初始条件:顺序表L已存在。
操作结果:依次显示出L中的数据元素。
}ADT SqList
2.有序表的折半查找
抽样数据类型顺序表的定义如下:
ADT SqList{
数据对象:D = {ai| ai∈ElemSet, i = 1,2,…,n,n≥0}
数据关系:R1 = {a(i-1),ai|a(i-1),ai∈D,i=2,…,n}
基本操作:
Init(SqList L)
操作结果:构造一个空的顺序表L。
insert(SqList L,int m)
初始条件:顺序表L已存在。
操作结果:在顺序表中有序插入新的数据元素m,L的长度加1。
Search_Bin(SqList L,int m)
初始条件:顺序表L已存在。
操作结果:折半查找m的位置。
print(SqList L)
初始条件:顺序表L已存在。
操作结果:依次显示出L中的数据元素。
}ADT SqList
详细设计
1.无序表的直接查找
#includeiostream
#includecstring
#includecstdio
#includecstdlib
#define LS 100//顺序表存储空间的初始分配量
#define LC 10//顺序表存储空间的分配增量
using namespace std;
typedef int Status;
using namespace std;
//- - - 动态分配顺序存储结构 - - -
typedef struct
{
int *elem;//存储空间基址
int listsize;//当前分配的存储容量(以sizeof(int)为单位)
int len;//当前长度
} SqList;
Status Init(SqList L)//构造一个空的顺序表L
{
L.elem=(int *)malloc(sizeof(int)*LS);
if(!L.elem)
exit(-1);//存储分配失败
L.listsize=LS;//初始存储容量
L.len=0;//空表长度为0
return 1;
}//算法的时间复杂度O(c)
Status insert(SqList L,int m)//插入数据元素
{
if(L.lenL.listsize)
{
L.elem=(int *)realloc(L.elem,sizeof(int)*(L.listsize+=LC));
if(!L.elem)
exit(-1);
}
*(L.elem+L.len++)=m;
return 1;
}
int compare(int m,int n)//比较数据元素是否相同
{
if(m==n)return 1;
else return 0;
}
Status Locate(SqList L,int e)//查找数据元素的位置
{
int i=1;
int* p=L.elem;
while(i=L.len!(compare(*p++,e)))
{
++i;
}
if(i=L.len)
cout第一个e在顺序表的第i个位置endl;
else //查找失败
coutcant find 数据元素 eendl;
return 0;
}//算法的时间复杂度O(length(L)
void print(SqList L)//遍历顺序表
{
printf(%d,*(L.elem));
if(L.len1)
{
fo
您可能关注的文档
最近下载
- 元素周期表高清.pdf VIP
- 2025广东新人教版七年级英语下学期月考测试卷.docx VIP
- 2025美国心脏协会和美国儿科学会新生儿复苏、儿童基础生命支持和儿童高级生命支持指南更新解读.pptx VIP
- 物业费测算模板表.xls VIP
- 2025护理法律法规运用试题及答案.docx VIP
- (2025年)易制毒易制爆危险化学品培训试题(含答案).docx VIP
- 经鼻高流量氧疗护理(2025版).pptx VIP
- 广东省深圳市2022届高三第一次模拟考试化学试题及参考答案.pdf VIP
- 16CG2716CJ72-1 预制及拼装式轻型板-轻型兼强板(JANQNG).docx VIP
- 江西省2024年五方面人员考试真题及答案.docx VIP
原创力文档

文档评论(0)