- 59
- 0
- 约5.01万字
- 约 77页
- 2018-10-26 发布于天津
- 举报
试验七排序算法的实现
PAGE
PAGE 3
《数 据 结 构 实 践》
实 验 指 导 书
2013年8月
目 录
TOC \o 1-1 \h \z \u HYPERLINK \l _Toc374450324 实验一 C语言编程复习 PAGEREF _Toc374450324 \h 3
HYPERLINK \l _Toc374450325 实验二 线形表基本操作的实现 PAGEREF _Toc374450325 \h 5
HYPERLINK \l _Toc374450326 实验三 栈和队列基本操作的实现及应用 PAGEREF _Toc374450326 \h 14
HYPERLINK \l _Toc374450327 实验四 二叉树算法的实现 PAGEREF _Toc374450327 \h 26
HYPERLINK \l _Toc374450328 实验五 图的算法的实现 PAGEREF _Toc374450328 \h 40
HYPERLINK \l _Toc374450329 实验六 查找算法的实现 PAGEREF _Toc374450329 \h 57
HYPERLINK \l _Toc374450330 实验七 排序算法的实现 PAGEREF _Toc374450330 \h 67
实验一 C语言编程复习
一、实验目的
1.熟悉C语言的上机环境,进一步掌握C语言的结构特点。
2.理解指针与应用的区别。
3.掌握结构体的使用。
4.掌握简单排序方法。
二、实验内容
1、使用指针和引用两种方式,完成两个学生的交换。
2、写一函数,根据成绩,对包含有n个学生的数组进行排序。
三、实验步骤
1. 定义一个Student的结构体类型,包含学号、姓名、成绩等成员。
2. 分别写Swap1(Student *s1, Student *s2) 和Swap2(Student s1, Student s2),完成两个学生的交换。
3.写一排序函数 SortStu(Student *s, int n),使用冒泡或者简单选择排序算法根据成绩完成学生的排序。
四、实现提示
struct Student
{
char name[20]; //姓名
char num[10]; //学号
float score; //成绩
};
void Swap1(Student *, Student *);//交换两个结构体变量(指针)
void Swap2(Student , Student );//交换两个结构体变量(引用)
void SortStu (Student *,int);//按成绩(高到低)排序
五、思考与提高
思考为何void Swap1(Student, Student )这个函数无法实现两个学生的交换?
六、完整参考程序
void Swap1(Student *s1, Student *s2)
{
Student temp;
temp=*s1;
*s1=*s2;
*s2=temp;
}
void Swap2(Student s1, Student s2)
{
STUDENT temp;
temp=s1;
s1=s2;
s2=temp;
}
void SortStu(Student S[],int n)
{
Student temp;
for(int i=0;in;i++)
{
int idx = i;
for(int j=i+1;jn;j++)
{
if(S[idx].scoreS[j].score)
idx = j;
}
if (idx != i)
{
temp= S[idx];
S[idx] = S[i];
S[i] = temp;
}
}
}
实验二 线形表基本操作的实现
一、实验目的
1.熟悉C语言的上机环境,进一步掌握C语言的结构特点。
2.掌握线性表的顺序存储结构的定义及C语言实现。
3.掌握线性表的链式存储结构——单链表的定义及C语言实现。
4.掌握线性表在顺序存储结构即顺序表中的各种基本操作。
5.掌握线性表在链式存储结构——单链表中的各种基本操作。
二、实验内容
1.顺序线性表的建立、插入及删除。
2.链式线性表的建立、插入及删除。
三、实验步骤
1.建立含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度。
2.利用前面的实验先建立一个顺序表L={21,23,14,5,56,17,31},然后在第i个位置插入元素68。
3.建立一个带头结点的单链表,结点的值域为整型数据。要求将用户输入的数据按尾插入法来建立相应单链表。
四、实现提示
1.由于C语言的数组类型也有随机存取的特点,一维数
您可能关注的文档
- 设站单位风采——乌鲁木齐隆成实业有限公司-中国博士后网上.PDF
- 设计改进对核电站厂房楼层反应谱的影响分析-地震工程与工程振动.PDF
- 设计美学作业My数位学习.PPT
- 评恩平汉邦陶瓷有限公司诉刘福来.DOC
- 试从温病营分证探析癌性发热的治法-肿瘤学杂志.PDF
- 评标方法及评定标准-黔西南州公共资源交易中心.DOC
- 识别评价并实现系统节能的全集成节能解决方S-制造业的未来.PDF
- 试论清代财政体系的近代转型-中国经济史研究.PDF
- 评核时间107年9月10日一-长庚大学学务处.PPT
- 试验七控制系统的稳态误差分析.DOC
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)