数据结构实验5 快速排序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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= StandardKey)

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]={"百里","东郭","太史","闻人","公孙","赫连","钟离","鲜鱼","轩辕","南门","公良","乐正","公仪","欧阳","司马","上官","端木","东方","孤独","南宫","诸葛","尉迟","皇

相关文档
最新文档