数据结构实验5 快速排序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构《实验5》实验报告
实验项目5:快速排序
学号姓名课程号实验地点指导教师时间
评语:
按时完成实验;实验内容和过程记录完整;回答问题完整、正确;实验报告的撰写认真、格式符合要求;无抄袭的行为。
成绩教师签字
快速排序
1、预习要求:快速排序方法。
2、实验目的:
(1)了解快速排序方法概念;
(2)理解快速排序方法的求解过程;
(3)掌握快速排序方法运算。
3、实验内容及要求:
(1)建立包含30个数据的序列(数据元素的值由自己设定);
(2)完成快速排序运算的程序;
(3)给出程序和快速排序前后的结果。
4、实验设备(环境)及要求
硬件:支持 Intel Pentium Ⅱ及其以上 CPU ,内存 128MB 以上、硬盘 1GB 以上容量的微机。
软件:配有 Windows98/2000/XP 操作系统,安装 Visual C++ 。
5、实验时间:8学时
6、该文档的文件名不要修改,存入<学号> <姓名> 命名的文件夹中
7、该表中的数据只需填空,已有内容不要修改
实验结果(运行结果界面及源程序,运行结果界面放在前面):
#include
#include
#include
#include
#define STUDENT EType
struct STUDENT
{
char number[8];
char name[8];
char sex[3];
int key;
char place[20];
};
struct LinearList
{
EType *r;
int length;
int maxsize;
};
void CreatLinearList(LinearList &L,int maxlistsize)
{
L.maxsize=maxlistsize;
L.r=new EType[L.maxsize];
L.length=0;
}
void OutputLinearList(LinearList &L)
{//逐个输出线性表L中的数据元素
cout<<" "<<"学号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"年龄"<<" "<<"祖籍"< cout<<" ==================================="< for(int i=0; i cout<<" "< } int Partition(EType r[],int low,int high) {//对记录序列L.r[low..high]进行一次快速排序,并将本范围的元素按标准元素分为两部分int StandardKey; EType Temp; Temp = r[low]; StandardKey = r[low].key; while(low { while(low high--; if(low r[low++] = r[high]; while(low low++; if(low r[high--] = r[low]; } r[low] = Temp; return low; } void Qsort(EType r[],int low,int high) { int StandardLoc; if(low { StandardLoc=Partition(r,low,high); Qsort(r,low,StandardLoc-1); Qsort(r,StandardLoc+1,high); } } void QuickSort(LinearList &L) { Qsort(L.r,0,L.length-1); } void main() { LinearList L; int maxsize=40; char number[][8]={"001","002","003","004","005","006","007","008","009","010","011","012","013", "014","015","016","017","018","019","020","021","022","023","024","025","026","027","028","0 29","030"}; char name[][8]={"百里","东郭","太史","闻人","公孙","赫连","钟离","鲜鱼","轩辕","南门","公良","乐正","公仪","欧阳","司马","上官","端木","东方","孤独","南宫","诸葛","尉迟","皇