大数据结构实验报告材料及心得体会Word格式文档下载.docx

上传人:b****5 文档编号:19253890 上传时间:2023-01-04 格式:DOCX 页数:31 大小:24.31KB
下载 相关 举报
大数据结构实验报告材料及心得体会Word格式文档下载.docx_第1页
第1页 / 共31页
大数据结构实验报告材料及心得体会Word格式文档下载.docx_第2页
第2页 / 共31页
大数据结构实验报告材料及心得体会Word格式文档下载.docx_第3页
第3页 / 共31页
大数据结构实验报告材料及心得体会Word格式文档下载.docx_第4页
第4页 / 共31页
大数据结构实验报告材料及心得体会Word格式文档下载.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

大数据结构实验报告材料及心得体会Word格式文档下载.docx

《大数据结构实验报告材料及心得体会Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《大数据结构实验报告材料及心得体会Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。

大数据结构实验报告材料及心得体会Word格式文档下载.docx

(2)实验目的:

掌握各种排序算法的基本思想、实验方法和验证算法的准确性;

(3)实验要求:

对算法进行上机编译、链接、运行;

(4)实验环境(WindowsXP-sp3,Visualc++);

(5)实验算法(给出四种排序算法修改后的全部清单);

(6)实验结果(四种排序算法模拟运行后的实验结果);

(7)实验体会(文字说明本实验成功或不足之处)。

三、实验源程序(算法)

Score.c

#include"

stdio.h"

string.h"

#defineM6

#defineN3

structstudent

{charname[10];

intnumber;

intscore[N+1];

/*score[N]为总分,score[0]-score[2]为学科成绩*/

}stu[M];

voidchangesort(structstudenta[],intn,intj)

{intflag=1,i;

structstudenttemp;

while(flag)

{flag=0;

for(i=1;

i<

n-1;

i+=2)/*对所有奇数项进行一遍比较*/

if(a[i].score[j]>

a[i+1].score[j])

{temp=a[i];

a[i]=a[i+1];

a[i+1]=temp;

flag=1;

}

for(i=0;

i+=2)/*对所有偶数项进行一遍比较*/

}

voidprint_score(structstudenta[],intn,intj)

{inti,k;

printf(“奇偶交换成绩%d排序表"

j+1);

printf("

\n"

);

名次学号姓名分数\n"

k=1;

for(i=0;

k<

N&

&

n;

i++)

{if(i>

0&

a[i].score[j]!

=a[i-1].score[j])

k++;

printf("

%4d"

k);

%4d"

a[i].number);

%s"

a[i].name);

%6d"

a[i].score[j]);

}

main()

{inti,j,k;

for(i=0;

M;

i++)/*输入每个学生信息*/

{printf("

请输入第%d名学生分数:

"

i+1);

printf("

姓名:

scanf("

%s"

stu[i].name);

编号:

scanf("

&

stu[i].number);

printf("

数据结构:

stu[i].score[0]);

离散数学:

stu[i].score[1]);

大学英语:

stu[i].score[2]);

}

for(i=0;

i++)/*计算每个学生总分*/

{stu[i].score[N]=0;

for(j=0;

j<

N;

j++)

stu[i].score[N]+=stu[i].score[j];

changesort(stu,M,N);

/*对总分进行排序*/

学生总分成绩排序表\n"

名次学号姓名数据结构离散数学大学英语总分\n"

stu[i].score[N]!

=stu[i-1].score[N])

k++;

%4d"

stu[i].number);

N+1;

stu[i].score[j]);

}

changesort(stu,M,0);

/*对数据结构成绩进行排序*/

print_score(stu,M,0);

/*输出数据结构前3名同学成绩*/

changesort(stu,M,1);

/*对离散数学成绩进行排序*/

print_score(stu,M,1);

/*输出离散数学前3名同学成绩*/

changesort(stu,M,2);

/*对大学英语成绩进行排序*/

print_score(stu,M,2);

/*输出大学英语前3名同学成绩*/

源代码结果:

请输入第1名学生分数:

史孟晨

01

87

90

78

请输入第2名学生分数:

袁欣

02

80

92

请输入第3名学生分数:

赵宇

03

88

76

95

请输入第4名学生分数:

滕芷

04

79

84

请输入第5名学生分数:

张一析

05

68

91

请输入第6名学生分数:

白晓彤

06

学生总分成绩排序表

名次学号姓名数据结构离散数学大学英语总分

15张一析786891237

22袁欣788092250

34滕芷798488251

46白晓彤887690254

51史孟晨879078255

63赵宇887695259

奇偶交换成绩1排序表

名次学号姓名分数

15张一析78

12袁欣78

24滕芷79

31史孟晨87

奇偶交换成绩2排序表

15张一析68

26白晓彤76

23赵宇76

32袁欣80

奇偶交换成绩3排序表

11史孟晨78

24滕芷88

36白晓彤90

Pressanykeytocontinue

Change.c

voidchangesort(structstudenta[],intn,intj);

voidprint_score(structstudenta[],intn,intj);

{

charname[10];

intnumber;

intscore[N+1];

/*score[N]为总分,score[0]-score[2]为学科成绩*/

inti,j,k;

for(i=0;

i++)/*输入每个学生信息*/

{

i++)/*计算每个学生总分*/

stu[i].score[N]=0;

changesort(stu,M,N);

/*对总分进行排序*/

printf("

k=0;

for(i=0;

M+1;

{

if(i>

{

k++;

printf("

stu[i-1].number);

stu[i-1].name);

for(j=0;

{

stu[i-1].score[j]);

}

}

}

changesort(stu,M,0);

print_score(stu,M,0);

changesort(stu,M,1);

print_score(stu,M,1);

changesort(stu,M,2);

print_score(stu,M,2);

{

intflag=1,i;

flag=0;

if(a[i].score[j]<

a[i+1].score[j])

temp=a[i];

if(a[i].score[j]<

{

temp=a[i];

a[i]=a[i+1];

a[i+1]=temp;

flag=1;

}

inti,k;

奇偶交换成绩%d排序表"

k=1;

升序改降序:

学生总分成绩排序表

13赵宇887695259

21史孟晨879078255

36白晓彤887690254

44滕芷798488251

52袁欣788092250

65张一析786891237

13赵宇88

16白晓彤88

21史孟晨87

34滕芷79

11史孟晨90

24滕芷84

13赵宇95

22袁欣92

35张一析91

Seletsort.c

intflag=1,i,m,k;

for(i=0;

i++)/*选择排序法*/

k=i;

for(m=i+1;

m<

m++)

if(a[m].score[j]>

a[k].score[j])

k=m;

temp=a[i];

a[i]=a[k];

a[k]=temp;

flag=1;

}

选择交换成绩%d排序表"

简单选择:

选择交换成绩1排序表

选择交换成绩2排序表

选择交换成绩3排序表

Bubblesort.c

#in

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

当前位置:首页 > 工程科技 > 城乡园林规划

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

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