实验七查找Word文档下载推荐.docx

上传人:b****2 文档编号:4217589 上传时间:2023-05-03 格式:DOCX 页数:17 大小:264.84KB
下载 相关 举报
实验七查找Word文档下载推荐.docx_第1页
第1页 / 共17页
实验七查找Word文档下载推荐.docx_第2页
第2页 / 共17页
实验七查找Word文档下载推荐.docx_第3页
第3页 / 共17页
实验七查找Word文档下载推荐.docx_第4页
第4页 / 共17页
实验七查找Word文档下载推荐.docx_第5页
第5页 / 共17页
实验七查找Word文档下载推荐.docx_第6页
第6页 / 共17页
实验七查找Word文档下载推荐.docx_第7页
第7页 / 共17页
实验七查找Word文档下载推荐.docx_第8页
第8页 / 共17页
实验七查找Word文档下载推荐.docx_第9页
第9页 / 共17页
实验七查找Word文档下载推荐.docx_第10页
第10页 / 共17页
实验七查找Word文档下载推荐.docx_第11页
第11页 / 共17页
实验七查找Word文档下载推荐.docx_第12页
第12页 / 共17页
实验七查找Word文档下载推荐.docx_第13页
第13页 / 共17页
实验七查找Word文档下载推荐.docx_第14页
第14页 / 共17页
实验七查找Word文档下载推荐.docx_第15页
第15页 / 共17页
实验七查找Word文档下载推荐.docx_第16页
第16页 / 共17页
实验七查找Word文档下载推荐.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验七查找Word文档下载推荐.docx

《实验七查找Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验七查找Word文档下载推荐.docx(17页珍藏版)》请在冰点文库上搜索。

实验七查找Word文档下载推荐.docx

1、实验报告要按照实验报告格式规范书写。

2、实验上要写出多批测试数据的运行结果。

3、结合运行结果,对程序进行分析。

三、实验步骤 

 

typedef 

struct 

//定义每个记录(数据元素)的结构 

string 

xingming;

//姓名 

xingbei;

//性别 

float 

xuehao;

//学号 

chengji1,chengji2;

//成绩1,成绩2

zong;

//总分 

}RecordType;

//定义顺序表的结构 

RecordType 

r[MAXSIZE 

+1];

//存储顺序表的向量 

查找

顺序查找 

从表的一端开始逐个进行记录的关键字和给定值的比较。

在这里从表尾开始并把下标为0的作为哨兵。

void 

chaxun(SqList 

&

ST) 

//查询信息 

cout<

<

"

\n************************"

endl;

(1)根据学号查询 

~"

(2)根据姓名查询 

(3)根据性别查询 

(4)退出 

 

~"

if(m==1) 

顺序查找算法:

cout<

输入要查找的姓名"

cin>

>

name;

for(int 

i=0;

i<

ST.length;

i++) 

if(name==ST.r[i].xingming) 

ST.r[i].xuehao<

"

ST.r[i].xingming<

ST.r[i].xingbei<

ST.r[i].chengji1<

ST.r[i].chengji2<

ST.r[i].zong<

a=1;

排序

a.直接插入排序 

每步将一个待排序的记录,按其关键码大小,插入到前面已经排好序的一组记录的适当位置上,直到记录全部插入为止。

//按学号排序,使用插入排序 

inssort(recordlist 

l) 

{

int 

j;

i=2;

=l->

length;

l->

r[0].key=l->

r[i].key;

j=i-1;

while(l->

r[0].key<

r[j].key) 

r[j+1].key 

r[j].key;

j=j-1;

r[j+1].key=l->

r[0].key;

m=1;

m<

m++) 

r[m].key<

;

b.冒泡排序

bubblesort(recordlist 

i,j,x;

change=TRUE;

for(i=1;

length 

change;

++i) 

change=FALSE;

for(j=1;

j<

length-i;

++j) 

if(l->

r[j].key>

r[j+1].key) 

x=l->

r[j].key=l->

r[j+1].key=x;

}

c.快速排序 

qkpass(recordlist 

l,int 

left,int 

right) 

r[left].key;

low=left;

high=right;

while(low<

high) 

high 

r[high].key 

=x) 

high--;

if(low<

r[low].key 

low++;

r[high].key<

x) 

r[high].key=l->

r[low].key;

r[low].key=x;

return 

low;

qksort(recordlist 

*l,int 

low,int 

pos;

=high) 

pos=qkpass(l,low,high);

qksort(l,low,pos-1);

qksort(l,pos+1,high);

d.简单选择排序 

selectsort(recordlist 

i,j,k,x,n;

=n-1;

k=i;

for(j=i+1;

=n;

++j)

r[j].key<

r[k].key) 

k=j;

if(k!

=i) 

r[i].key=l->

r[k].key;

r[k].key=x;

}

四、测试数据与实验结果

1.直接插入排序

2.冒泡排序

3.快速排序

4.简单选择排序

5.顺序查找

五、实验总结 

通过本次实验我对查找排序的应用有了相对的了解。

通过自己数次的调试、修改也搞懂了许多以前比较模糊的知识点,比如这次的界面是复制过来的,其中很多语句经过同学的帮助及查找资料后可以理解。

但这次实验也有很多不尽人意的地方,程序与老师的要求可能会有些出入我将在以后的试验中会加强自己的编程能力,多学习同学优秀的地方.也会在以后的学习过程中要尽量考虑周全。

6、源代码

#include 

iostream.h>

malloc.h>

#define 

maxsize 

12 

listsize 

10 

keysize 

MAX 

100 

radix 

10

keytype;

//总分

key;

next;

}recordtype;

recordtype 

r[listsize 

}recordlist;

pvector[radix];

//直接插入排序 

//冒泡排序 

//简单选择排序

//快速排序 

//顺序查找 

if(m==1)

for(int 

}

void 

main() 

a=1,k,r,e,q;

char 

b;

recordlist 

*L;

L=(recordlist*)malloc(sizeof(recordlist));

输入所创表的长度:

cin>

r;

L->

length=r;

输入表的元素:

i=1;

=L->

请输入第"

个元素:

while(a) 

*********菜单**********"

1直接插入排序:

2冒泡排序:

3快速排序:

4简单选择排序:

5顺序查找:

6退出操作:

请输入你选择的操作序号:

switch(b) 

case 

'

1'

:

直接插入排序:

inssort(L);

break;

2'

冒泡排序:

bubblesort(L);

3'

快速排序:

qksort(L,1,10);

for( 

q=1;

q<

q++) 

r[q].key<

4'

简单选择排序:

selectsort(L);

5'

进行顺序查找:

输入要查找的元素:

k;

seqsearch(L,k);

6'

a=0;

退出!

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2