下载此文档

排序实验报告、.doc


文档分类: | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
电子信息工程学系实验报告——适用于计算机课程
成绩:
课程名称:数据结构
指导教师(签名):
实验项目名称:排序算法实验时间: 2010-6-18
班级: 计算机 082 姓名: 沈梦琼学号: 810704237

实验目的:
,并掌握用高级语言实现排序算法的方法;
,并能加以灵活应用;
,并掌握各种排序方法的时间复杂性和稳定性的分析方法。
实验环境:
一人一台微机,安装windows系统及vc++。
实验内容及过程:
、起泡法改进算法排序:希尔排序和快速排序;
,将用户随机输入的一列数按递增的顺序排好。
,根据实际问题的特点和要求选择合适的排序方法。
实验结果及分析:
实验心得:
通过这个实验,更加了解了几个排序的各自的定义和特点,懂得了插入排序、冒排序是稳定排序方法;选择排序、谢尔排序、快速排序是不稳定排序方法。知道了当n不大的时候,元素基本有序,或者分布比较随机并且有排序稳定性要求时,宜采用插入排序方法等等。这次实验通过老师上课的算法分析讲解,对每个内排序的基本排序步骤都比较清晰。实验也只是把老师上课的算法了解后运用进来。不过我们会更进一步的懂得对待不同元素特点选择不同的排序方法。
附录:
程序如下:
#include""
#define Max 1001
int temp,a[Max];
typedef struct
{
int key; /*关键字值*/
}Keytype[Max];
int n;
/*输入顺序表*/
void input_int( Keytype K)
{
int i;
printf("Please input num:");
scanf("%d",&n);
printf("Please input %d integer:\n",n);
for(i=0;i<n;i++)
scanf("%d",&K[i].key);
}
/*输出顺序表*/
void output_int( Keytype K)
{
int i;
for(i=0;i<n;i++)
printf("%4d",K[i].key);
}
/*插入排序*/
void insertsort(int a[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
{
temp=a[i+1]; j=i;
while(j>=0 && temp<a[j])
{ a[j+1]=a[j];
j--;
}
a[j+1]=temp;
}
}
/*选择排序*/
void selectsort(int a[],int n)
{
int i,j,k=0;
for(j=1;j<=n-1;j++)
{
for(i=1;i<n;i++)
if(a[i]>a[k])
k=i;
temp=a[k];
a[k]=a[n-j];
a[n-j]=temp;

排序实验报告、 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小63 KB
  • 时间2018-03-21
最近更新